:root{
    --paper:#ffffff;
    --paper-2:#f2f1ee;      /* warm off-white wells */
    --ink:#141414;
    --ink-2:#525252;        /* body grey */
    --ink-3:#8a8a8a;
    --black:#000000;
    --grey:#737373;         /* footer headers / dim */
    --line:rgba(0,0,0,0.12);
    --line-2:rgba(0,0,0,0.07);
    --line-d:rgba(255,255,255,0.16);
    --line-d2:rgba(255,255,255,0.08);
    --white-dim:rgba(255,255,255,0.60);
    --white-faint:rgba(255,255,255,0.34);
    --grotesk:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --serif:'Newsreader','Times New Roman',Times,serif;
    --ease:cubic-bezier(0.22,1,0.36,1);
    --max:1420px;
    --nav-h:70px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
  body{
    background:var(--paper);color:var(--ink);
    font-family:var(--grotesk);font-weight:400;line-height:1.45;
    letter-spacing:-0.011em;overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img,video{display:block;max-width:100%}
  .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 40px}

  /* ---------------- NAV ---------------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
    display:flex;align-items:center;
    transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),backdrop-filter .35s var(--ease);
    border-bottom:1px solid transparent;color:var(--ink);
  }
  header.nav.theme-dark{color:#fff}
  header.nav.scrolled.theme-light{background:rgba(255,255,255,0.82);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom-color:var(--line-2)}
  header.nav.scrolled.theme-dark{background:rgba(8,8,8,0.72);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom-color:var(--line-d2)}
  .nav-inner{width:100%;max-width:var(--max);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
  .brand{font-family:var(--serif);font-weight:500;font-size:27px;letter-spacing:-0.01em;line-height:1;display:flex;align-items:center;position:relative}
  .brand-logo{height:26px;width:auto;display:block;color:#0a0a0a;overflow:visible}
  header.nav.theme-dark .brand-logo{color:#fff}
  .brand-logo path{fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;animation:vyaDraw 2.4s cubic-bezier(.6,0,.25,1) .3s forwards}
  @keyframes vyaDraw{0%{stroke-dashoffset:1;fill-opacity:0}62%{stroke-dashoffset:0;fill-opacity:0}80%{stroke-dashoffset:0;fill-opacity:0}100%{stroke-dashoffset:0;fill-opacity:1}}
  @media (prefers-reduced-motion:reduce){.brand-logo path{stroke-dashoffset:0;fill-opacity:1;animation:none}}
  .nav-links{display:flex;gap:34px;justify-content:center}
  .nav-links a{font-size:13px;font-weight:500;letter-spacing:0.02em;opacity:.85;transition:opacity .2s var(--ease)}
  .nav-links a:hover{opacity:1}
  .nav-right{display:flex;gap:10px;justify-content:flex-end;align-items:center}

  .btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;
    padding:10px 18px;border-radius:8px;transition:all .2s var(--ease);white-space:nowrap;cursor:pointer;border:1px solid transparent;letter-spacing:-0.01em}
  .btn .arw{width:13px;height:13px;stroke:currentColor;stroke-width:1.6;fill:none}
  .btn-dark{background:var(--ink);color:#fff}
  .btn-dark:hover{background:#000}
  .btn-soft{background:rgba(0,0,0,0.05);color:var(--ink)}
  .theme-dark .btn-soft{background:rgba(255,255,255,0.14);color:#fff}
  .btn-soft:hover{background:rgba(0,0,0,0.09)}
  .theme-dark .btn-soft:hover{background:rgba(255,255,255,0.22)}
  .btn-outline-d{border-color:var(--line);color:var(--ink)}
  .btn-outline-d:hover{background:rgba(0,0,0,0.04)}
  .btn-glass{background:rgba(255,255,255,0.14);color:#fff;backdrop-filter:blur(6px)}
  .btn-glass:hover{background:rgba(255,255,255,0.24)}
  .btn-lg{padding:13px 22px;font-size:15px}
  .nav-toggle{display:none;background:none;border:0;color:inherit;font-size:22px;cursor:pointer}

  /* ---------------- HERO ---------------- */
  .hero{position:relative;height:100svh;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;background:#0b0b0b}
  .hero-media{position:absolute;inset:0;z-index:0}
  .hero-media video,.hero-media .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero-media video{z-index:1}
  .hero-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(10,10,12,0.5)0%,rgba(10,10,12,0.12)26%,rgba(10,10,12,0.15)55%,rgba(10,10,12,0.78)100%)}
  .hero-content{position:relative;z-index:2;width:100%;padding-bottom:62px}
  .hero-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}
  .hero h1{color:#fff;font-weight:300;font-size:clamp(44px,6.6vw,92px);line-height:0.98;letter-spacing:-0.035em;max-width:15ch}
  .hero .cta-row{margin-top:30px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
  .hero .micro{margin-top:18px;color:var(--white-dim);font-size:13.5px;letter-spacing:0;min-height:1.5em}
  .tw-caret{display:inline-block;width:2px;height:1.05em;background:rgba(255,255,255,0.72);margin-left:3px;vertical-align:-3px;animation:twBlink 1s steps(1) infinite}
  @keyframes twBlink{50%{opacity:0}}
  .hero-links{display:flex;flex-direction:column;gap:16px;align-items:flex-end;padding-bottom:6px}
  .hero-links a{color:rgba(255,255,255,0.42);font-size:clamp(18px,1.7vw,25px);font-weight:400;letter-spacing:-0.02em;display:inline-flex;align-items:center;gap:10px;transition:color .22s var(--ease)}
  .hero-links a:hover{color:#fff}
  .hero-links a svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;fill:none;opacity:.8}

  /* ---------------- SHARED SECTION ---------------- */
  section{position:relative}
  .band{padding:clamp(90px,11vw,150px) 0}
  .band-tight{padding:clamp(28px,3.6vw,52px) 0}
  .kicker{font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:0.01em;margin-bottom:26px}
  .theme-dark .kicker{color:var(--white-faint)}
  .display{font-weight:300;font-size:clamp(31px,4.9vw,66px);line-height:1.02;letter-spacing:-0.032em;color:var(--ink)}
  .display-sm{font-weight:300;font-size:clamp(28px,3.8vw,50px);line-height:1.03;letter-spacing:-0.03em}
  .body-lg{font-size:clamp(16px,1.25vw,19px);color:var(--ink-2);max-width:66ch;font-weight:400;line-height:1.5}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ---------------- STATEMENT + PROBLEM ---------------- */
  .statement .display{max-width:24ch}
  .statement .body-lg{margin-top:28px}
  .prob-grid{margin-top:74px;display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
  .prob{border-top:1px solid var(--ink);padding-top:20px}
  .prob .n{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}
  .prob h3{margin-top:44px;font-weight:400;font-size:20px;letter-spacing:-0.02em;line-height:1.12}
  .prob p{margin-top:14px;color:var(--ink-2);font-size:15px;line-height:1.5}

  /* ---------------- DARK RESEARCH PANEL ---------------- */
  .panel{position:relative;border-radius:0;overflow:visible;background:transparent;color:#0a0a0a}
  .panel-media{position:absolute;inset:0;z-index:0}
  .panel-media video,.panel-media .fallback{width:100%;height:100%;object-fit:cover}
  .panel-media::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,8,10,0.86)0%,rgba(8,8,10,0.55)45%,rgba(8,8,10,0.35)100%)}
  .panel-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(30px,5vw,80px);padding:clamp(16px,2.4vw,34px) clamp(20px,4vw,60px);align-items:center}
  .panel-inner .lbl{font-size:14px;color:var(--white-dim);margin-bottom:26px}
  .panel-inner .lead{font-weight:300;font-size:clamp(21px,2.35vw,33px);line-height:1.16;letter-spacing:-0.025em;max-width:22ch}
  .panel-inner .lead .em{color:#0a0a0a}
  .panel .btn-glass{background:#0a0a0a;color:#fff;backdrop-filter:none}
  .panel .btn-glass:hover{background:#1c1c1c}
  .panel .ritem{border-top-color:rgba(10,10,10,0.14)}
  .panel .ritem:hover{border-top-color:rgba(10,10,10,0.5)}
  .panel .ritem p{color:rgba(10,10,10,0.5)}
  .panel .ritem .up{stroke:rgba(10,10,10,0.55)}
  .panel-actions{margin-top:32px}
  .rlist{align-self:center}
  .ritem{display:block;border-top:1px solid var(--line-d);padding:22px 0;position:relative;transition:border-color .2s var(--ease)}
  .ritem:hover{border-top-color:rgba(255,255,255,0.5)}
  .ritem h4{font-weight:400;font-size:clamp(19px,1.5vw,23px);letter-spacing:-0.02em;padding-right:28px}
  .ritem p{margin-top:9px;color:var(--white-dim);font-size:14.5px;line-height:1.45;max-width:44ch;padding-right:28px}
  .ritem .up{position:absolute;top:22px;right:2px;width:15px;height:15px;stroke:rgba(255,255,255,0.7);stroke-width:1.5;fill:none}

  /* ---------------- FEATURE SECTIONS ---------------- */
  .feat-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:26px}
  .feat-label .t{font-size:14px;color:var(--ink-3)}
  .fpanel{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/8;background:#0d0d0d}
  .fpanel video,.fpanel .fallback{width:100%;height:100%;object-fit:cover}
  .feat-head{margin-top:44px;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
  .feat-head h2{font-weight:300;font-size:clamp(28px,3.7vw,50px);line-height:1.03;letter-spacing:-0.03em;max-width:16ch}
  .feat-head .rt p{color:var(--ink-2);font-size:17px;line-height:1.5;max-width:48ch}
  .feat-head .rt p + p{margin-top:18px}
  .feat-head .rt .big{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);font-weight:400;font-size:21px;letter-spacing:-0.02em;color:var(--ink);max-width:34ch}

  /* ---------------- MARKET ---------------- */
  .stat-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
  .stat{border-top:1px solid var(--ink);padding-top:22px}
  .stat .big{font-weight:300;font-size:clamp(48px,6vw,84px);letter-spacing:-0.04em;line-height:0.95}
  .stat .cap{margin-top:20px;color:var(--ink-2);font-size:15px;max-width:26ch;line-height:1.45}
  .closing{margin-top:60px;font-weight:300;font-size:clamp(22px,2.7vw,36px);letter-spacing:-0.03em;line-height:1.12;max-width:24ch}

  /* ---------------- CTA ---------------- */
  .cta{text-align:center}
  .cta .display{max-width:20ch;margin:0 auto}
  .cta p{margin:24px auto 0;color:var(--ink-2);max-width:48ch;font-size:18px}
  .cta .cta-row{margin-top:36px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  /* ---------------- FOOTER ---------------- */
  footer.site{background:var(--black);color:#fff;padding:74px 0 44px;border-radius:22px 22px 0 0;margin-top:8px}
  .foot-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
  .foot-col h5{font-size:13px;font-weight:400;color:var(--grey);margin-bottom:22px}
  .foot-col a{display:flex;align-items:center;gap:6px;color:#f2f2f2;font-size:15px;margin-bottom:13px;opacity:.92;transition:opacity .18s var(--ease)}
  .foot-col a:hover{opacity:.6}
  .foot-bottom{margin-top:90px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
  .foot-bottom .mark{font-family:var(--serif);font-weight:500;font-size:64px;line-height:0.8;letter-spacing:-0.02em}
  .mark-logo{height:58px;width:auto;display:block;color:#fff;overflow:visible}
  .mark-logo path{fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0}
  .mark-logo.draw path{animation:vyaDraw 2.4s cubic-bezier(.6,0,.25,1) .1s forwards}
  @media (prefers-reduced-motion:reduce){.mark-logo path{stroke-dashoffset:0;fill-opacity:1}.mark-logo.draw path{animation:none}}
  .foot-legal{color:var(--grey);font-size:12.5px;line-height:1.7;text-align:right;text-transform:uppercase;letter-spacing:0.03em}
  .foot-legal a:hover{color:#fff}

  /* ---------------- FLORA-STYLE FEATURES ---------------- */
  .fx{background:#060607;color:#fff;padding:clamp(46px,6vw,86px) 0}
  .fx-head{margin-bottom:clamp(22px,3vw,38px)}
  .fx-title{font-weight:400;font-size:clamp(26px,3.1vw,44px);letter-spacing:-0.03em;line-height:1.04;max-width:none;white-space:nowrap}
  @media (max-width:620px){.fx-title{white-space:normal}}
  .fx-sub{margin-top:18px;color:rgba(255,255,255,0.52);font-size:clamp(16px,1.3vw,19px);max-width:64ch;letter-spacing:-0.01em}
  .fx-grid{display:flex;gap:20px;align-items:stretch}
  .fx-card{position:relative;container-type:inline-size;flex:1 1 0;min-width:0;border:1px solid rgba(255,255,255,0.08);border-radius:20px;background:#090909;overflow:hidden;padding:24px 24px;min-height:352px;display:flex;flex-direction:column;transition:flex-grow .6s var(--ease),border-color .5s var(--ease),background .5s var(--ease),opacity .5s var(--ease)}
  /* three equal cards at rest; the hovered one grows and the others shrink */
  .fx-card:hover{flex-grow:2.15;border-color:rgba(255,255,255,0.2);background:#0d0d0d}
  /* Flora-style: when the row is hovered, the non-hovered cards fade back */
  .fx-grid:hover .fx-card:not(:hover){opacity:0.36}
  .glow{opacity:0;transition:opacity .6s var(--ease)}
  .fx-card:hover .glow{opacity:1}
  .fx-num{transform-origin:left center;transition:transform .6s var(--ease)}
  .fx-card:hover .fx-num{transform:scale(1.1)}
  .fx-num .w{color:rgba(255,255,255,0.5);transition:color .5s var(--ease)}
  .fx-card:hover .fx-num .w{color:#fff}
  .fx-foot h3{color:rgba(255,255,255,0.82);transition:color .5s var(--ease)}
  .fx-card:hover .fx-foot h3{color:#fff}
  /* the extra line reveals only on the hovered card, like Flora */
  .fx-more{max-height:0;opacity:0;overflow:hidden;margin-top:0;font-weight:500;font-size:17px;letter-spacing:-0.02em;line-height:1.25;color:#fff;transition:max-height .6s var(--ease),opacity .5s var(--ease),margin-top .6s var(--ease)}
  .fx-card:hover .fx-more{max-height:6em;opacity:1;margin-top:16px}
  /* the demo mockups assemble once when the section scrolls into view, then stay */
  .anim{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .fx.seen .anim{opacity:1;transform:none}
  .fx.seen .d1{transition-delay:.05s}
  .fx.seen .d2{transition-delay:.16s}
  .fx.seen .d3{transition-delay:.27s}
  .fx.seen .d4{transition-delay:.38s}
  .fx.seen .d5{transition-delay:.49s}
  .mk-net line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s var(--ease) .2s}
  .fx.seen .mk-net line{stroke-dashoffset:0}
  .chip .dot{animation:vyaPulse 2.4s ease-in-out infinite}
  .mk-photo .scanline{position:absolute;left:0;right:0;height:26px;top:-26px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(150,195,255,0.4),transparent);opacity:0;animation:vyaScan 3.4s ease-in-out 1s infinite}
  @keyframes vyaPulse{0%,100%{box-shadow:0 0 0 3px rgba(93,202,165,0.16)}50%{box-shadow:0 0 0 6px rgba(93,202,165,0.03)}}
  @keyframes vyaScan{0%{top:-14%;opacity:0}12%{opacity:1}80%{top:100%;opacity:1}100%{top:100%;opacity:0}}
  @media (prefers-reduced-motion:reduce){.anim{opacity:1;transform:none;transition:none}.mk-net line{stroke-dashoffset:0}.chip .dot,.mk-photo .scanline{animation:none}.mk-photo .scanline{display:none}}

  /* ---- Feature 01: animated iMessage listing thread ---- */
  .im-stage{display:flex;justify-content:center;align-items:center}
  .phone{position:relative;width:min(258px,100%);height:406px;background:#000;border:none;border-radius:44px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 34px 72px rgba(0,0,0,0.62), 0 0 0 2px #2b2b2e, 0 0 0 6px #090909, 0 0 0 7px rgba(255,255,255,0.06), inset 0 0 0 1px rgba(255,255,255,0.05)}
  .im-status{display:flex;justify-content:space-between;align-items:center;padding:8px 17px 2px;font-size:11px;font-weight:600;color:#fff}
  .im-status .r{display:flex;align-items:center;gap:5px}
  .im-head{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 10px 8px;border-bottom:1px solid rgba(255,255,255,0.08);position:relative}
  .im-back{position:absolute;left:13px;top:0;color:#0a84ff;font-size:21px;line-height:1;font-weight:400}
  .im-ava{width:33px;height:33px;border-radius:50%;background:#f1c8d6;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .im-ava img{width:21px;height:21px}
  .im-name{font-size:11px;color:#e8e8e8;display:flex;align-items:center;gap:4px}
  .im-scroll{flex:1;overflow:hidden;padding:11px 11px 4px;display:flex;flex-direction:column;gap:6px}
  .im-day{align-self:center;font-size:9.5px;color:rgba(255,255,255,0.4);margin-bottom:3px}
  .im-day b{color:rgba(255,255,255,0.65);font-weight:600}
  .msg{max-width:82%;padding:8px 12px;border-radius:17px;font-size:12.5px;line-height:1.34;position:relative;word-wrap:break-word}
  .msg.out{align-self:flex-end;background:#0a84ff;color:#fff;border-bottom-right-radius:5px}
  .msg.in{align-self:flex-start;background:#262629;color:#f1f1f1;border-bottom-left-radius:5px}
  .msg.photo{padding:0;background:transparent;width:134px;overflow:visible}
  .msg.photo .ph-img{width:134px;height:auto;max-height:188px;object-fit:cover;border-radius:16px;display:block}
  .msg.photo .ph{width:134px;height:170px;border-radius:16px;background:linear-gradient(150deg,#7a6550,#3a332c 58%,#221f1b);position:relative;overflow:hidden}
  .msg.photo .ph::after{content:"";position:absolute;left:26%;top:22%;width:48%;height:62%;border-radius:8px 8px 46% 46%;background:linear-gradient(160deg,#9c8670,#514637)}
  /* iMessage bubble tails */
  .msg{--tail:#0a84ff}
  .msg.in{--tail:#262629}
  .msg.out::before,.msg.in::before{content:"";position:absolute;bottom:-0.5px;width:16px;height:15px;background:var(--tail)}
  .msg.out::after,.msg.in::after{content:"";position:absolute;bottom:-0.5px;width:11px;height:15px;background:#000}
  .msg.out::before{right:-6px;border-bottom-left-radius:15px}
  .msg.out::after{right:-9px;border-bottom-left-radius:12px}
  .msg.in::before{left:-6px;border-bottom-right-radius:15px}
  .msg.in::after{left:-9px;border-bottom-right-radius:12px}
  .msg.photo::before,.msg.photo::after{display:none}
  .im-delivered{align-self:flex-end;font-size:9.5px;color:rgba(255,255,255,0.5);margin:-1px 4px 2px;font-weight:600;opacity:0;transition:opacity .3s var(--ease)}
  .im-delivered.show{opacity:1}
  .im-video{position:absolute;right:13px;top:2px;color:#0a84ff}
  .im-typing{align-self:flex-start;background:#262629;border-radius:16px;padding:10px 13px;display:inline-flex;gap:4px}
  .im-typing .d{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.6);animation:imDot 1.3s infinite ease-in-out}
  .im-typing .d:nth-child(2){animation-delay:.18s}
  .im-typing .d:nth-child(3){animation-delay:.36s}
  @keyframes imDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
  .im-bar{display:flex;align-items:center;gap:7px;padding:7px 11px 11px}
  .im-bar .ic{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.09);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.72);flex:none;font-size:12px;font-weight:700}
  .im-bar .field{flex:1;height:27px;border:1px solid rgba(255,255,255,0.2);border-radius:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 12px;font-size:12px;color:rgba(255,255,255,0.4)}
  .im-bar .field .mic{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.7)}
  .im-home{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:104px;height:4px;border-radius:100px;background:rgba(255,255,255,0.55)}
  .msg,.im-typing{opacity:0;transform:translateY(9px) scale(.95);transform-origin:bottom;transition:opacity .3s var(--ease),transform .3s var(--ease)}
  .msg.show,.im-typing.show{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.im-typing{display:none!important}.msg{opacity:1;transform:none}.im-typing .d{animation:none}}

  /* ---- Feature 01: product listing card (Shopify-style) ---- */
  .phone.pc{height:456px;background:#0b0b0b}
  .pc-island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:74px;height:20px;background:#000;border-radius:12px;z-index:6}
  .pc-status{display:flex;justify-content:space-between;align-items:center;padding:9px 18px 0;font-size:11px;font-weight:600;color:#fff;position:relative;z-index:5}
  .pc-status .r{display:flex;align-items:center;gap:5px}
  .pc-card{position:absolute;left:0;right:0;top:40px;bottom:0;display:flex;flex-direction:column;overflow:hidden}
  .pc-img{position:relative;height:248px;overflow:hidden;flex:none}
  .pc-ph{position:absolute;inset:0;background:linear-gradient(160deg,#cdc1b1,#8a7d6b 58%,#463d33)}
  .pc-ph::after{content:"";position:absolute;left:29%;top:16%;width:42%;height:70%;border-radius:12px 12px 46% 46%;background:linear-gradient(160deg,#a89880,#5c5142)}
  .pc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .pc-pill{position:absolute;top:11px;right:11px;display:flex;gap:4px;z-index:3}
  .pc-pill .b{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,0.26);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;line-height:1}
  .pc-live{position:absolute;left:11px;bottom:11px;z-index:3;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:#fff;background:rgba(0,0,0,0.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:4px 10px;border-radius:100px}
  .pc-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#34d17a}
  .pc-sheet{flex:1;background:#fff;border-radius:20px 20px 0 0;margin-top:-18px;padding:15px 16px 16px;position:relative;z-index:2;color:#141414}
  .pc-title{font-size:15.5px;font-weight:600;letter-spacing:-0.01em}
  .pc-row{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:10px}
  .pc-brand{display:flex;align-items:center;gap:8px;min-width:0}
  .pc-ava{width:23px;height:23px;border-radius:50%;background:#141414;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
  .pc-ava img{width:15px;height:15px;filter:invert(1)}
  .pc-bname{font-size:12px;font-weight:600;line-height:1.15;white-space:nowrap}
  .pc-bsub{font-size:10px;color:#8a8a8a;white-space:nowrap}
  .pc-cta{display:flex;align-items:center;gap:9px;flex:none}
  .pc-price{font-size:13.5px;font-weight:600}
  .pc-btn{font-size:11.5px;font-weight:600;border:1px solid #dcdcdc;border-radius:100px;padding:5px 13px;color:#141414}
  .pc-div{height:1px;background:#ededed;margin:13px 0 12px}
  .pc-know{font-size:12.5px;font-weight:700}
  .pc-desc{margin-top:6px;font-size:11.5px;line-height:1.42;color:#5a5a5a}
  .pc .im-home{background:rgba(0,0,0,0.28)}
  /* build-in */
  .pc-anim{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .pc.built .pc-anim{opacity:1;transform:none}
  .pc-photo,.pc-ph{opacity:0;transform:scale(1.05);transition:opacity .7s var(--ease),transform .9s var(--ease)}
  .pc.built .pc-photo,.pc.built .pc-ph{opacity:1;transform:none}
  .pc-sheet{transform:translateY(48px);opacity:0;transition:transform .6s var(--ease) .16s,opacity .5s var(--ease) .16s}
  .pc.built .pc-sheet{transform:none;opacity:1}
  .pc.built .a1{transition-delay:.30s}
  .pc.built .a2{transition-delay:.42s}
  .pc.built .a3{transition-delay:.54s}
  .pc.built .a4{transition-delay:.64s}
  @media (prefers-reduced-motion:reduce){.pc-anim,.pc-photo,.pc-ph,.pc-sheet{opacity:1;transform:none;transition:none}}

  /* ---- Feature 01: upload + auto-detect analysis ---- */
  .an .pc-img{height:168px}
  .an-frame{position:absolute;inset:11px;border-radius:12px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,0.55);opacity:0;transition:opacity .35s var(--ease)}
  .an.scanning .an-frame{opacity:1}
  .an-scan{position:absolute;left:10px;right:10px;height:30px;top:-30px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(130,185,255,0.55),transparent);opacity:0}
  .an.scanning .an-scan{opacity:1;animation:anScan 1.25s ease-in-out infinite}
  @keyframes anScan{0%{top:-12%}100%{top:100%}}
  .an-chip{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#fff;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 10px;border-radius:100px}
  .an-chip .dot{width:6px;height:6px;border-radius:50%;background:#5dcaa5}
  .an.scanning .an-chip .dot{background:#7fb3ff;animation:anBlink 1s steps(1) infinite}
  @keyframes anBlink{50%{opacity:.35}}
  .an-sheet{padding:13px 15px 14px}
  .an-head{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;color:#141414;margin-bottom:5px}
  .an-pct{font-size:11px;font-weight:600;color:#9a7b4d;font-variant-numeric:tabular-nums}
  .an-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6.5px 0;border-top:1px solid #efefec}
  .an-row .lbl{font-size:11.5px;color:#8a8a8a;flex:none}
  .an-row .val{display:inline-flex;align-items:center;gap:6px;min-height:15px;font-size:12.5px;font-weight:600;color:#141414;justify-content:flex-end}
  .an-row .txt{font-variant-numeric:tabular-nums}
  .an-row.typing .txt::after{content:"";display:inline-block;width:1.5px;height:12px;margin-left:1.5px;vertical-align:-1px;background:#141414;animation:twBlink .8s steps(1) infinite}
  .an-row .sk{display:block;width:52px;height:8px;border-radius:4px;background:linear-gradient(90deg,#ececec,#dedede,#ececec);background-size:200% 100%;animation:anSk 1.2s linear infinite}
  .an-row:not(.pending) .sk{display:none}
  .an-row .chk{width:13px;height:13px;flex:none;opacity:0;transform:scale(.6);transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .an-row.done .chk{opacity:1;transform:none}
  .an-big .val{font-size:14px}
  @keyframes anSk{0%{background-position:200% 0}100%{background-position:-200% 0}}
  @media (prefers-reduced-motion:reduce){.an-scan{display:none}.an-row .sk{display:none}}

  /* ---- Feature 01: Flora-style platform panel with live cursor ---- */
  .plat-stage{display:flex;align-items:center;justify-content:center}
  .plat{position:relative;width:300px;max-width:100%}
  .plat-inner{position:relative;border:1px solid rgba(255,255,255,0.1);border-radius:16px;background:rgba(20,20,22,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 34px 74px rgba(0,0,0,0.55);overflow:hidden;min-height:244px}
  .plat-menu{padding:6px 8px 2px;transition:opacity .35s var(--ease),transform .35s var(--ease)}
  .plat-result{position:absolute;inset:0;padding:16px 15px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}
  .plat.state-menu .plat-menu{opacity:1;transform:none}
  .plat:not(.state-menu) .plat-menu{opacity:0;transform:translateY(-8px);pointer-events:none}
  .plat:not(.state-menu) .plat-result{opacity:1;transform:none}
  .plat-h{font-size:11px;color:rgba(255,255,255,0.36);padding:5px 12px 3px}
  .plat-row{display:flex;align-items:center;gap:11px;padding:6px 12px;border-radius:10px;position:relative;transition:background .18s var(--ease)}
  .plat-row .ri{width:34px;height:34px;flex:none;border-radius:9px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.72)}
  .plat-row .rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
  .plat-row .rt b{font-size:13.5px;font-weight:500;color:#f1f1f1}
  .plat-row .rt i{font-size:11px;color:rgba(255,255,255,0.4);font-style:normal}
  .plat-row .rk{flex:none;font-size:11px;color:rgba(255,255,255,0.5);min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center}
  .plat-row.hover{background:rgba(255,255,255,0.07)}
  .plat-row.click{background:rgba(255,255,255,0.13)}
  .plat-foot{display:flex;gap:22px;padding:8px 14px 4px;margin-top:4px;border-top:1px solid rgba(255,255,255,0.07);font-size:11px;color:rgba(255,255,255,0.4)}
  .pr-top{display:flex;gap:12px;align-items:center;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:4px}
  .pr-thumb{width:58px;height:58px;flex:none;border-radius:11px;overflow:hidden;background:#2a2724;border:1px solid rgba(255,255,255,0.08)}
  .pr-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .pr-info{flex:1;min-width:0}
  .pr-title{font-size:13px;font-weight:600;color:#f1f1f1}
  .pr-sub{font-size:11px;color:rgba(255,255,255,0.42);margin-top:2px}
  .pr-bar{margin-top:9px;height:4px;border-radius:3px;background:rgba(255,255,255,0.09);overflow:hidden}
  .pr-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#7fb3ff,#8fe6cc);border-radius:3px;transition:width .12s linear}
  .pr-fields .an-row{border-top:1px solid rgba(255,255,255,0.07);padding:7px 0}
  .pr-fields .an-row .lbl{color:rgba(255,255,255,0.42)}
  .pr-fields .an-row .val{color:#f1f1f1}
  .pr-fields .an-row.typing .txt::after{background:#f1f1f1}
  .pr-fields .an-row .sk{background:linear-gradient(90deg,rgba(255,255,255,0.05),rgba(255,255,255,0.16),rgba(255,255,255,0.05));background-size:200% 100%}
  .pr-fields .an-big .val{color:#8fe6cc}
  .plat-cursor{position:absolute;left:74%;top:88%;width:22px;height:22px;z-index:20;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,0.55));transition:left .72s cubic-bezier(0.45,0,0.2,1),top .72s cubic-bezier(0.45,0,0.2,1),transform .12s var(--ease)}
  .plat-cursor.down{transform:scale(0.82)}
  @media (prefers-reduced-motion:reduce){.plat-cursor{display:none}.plat-result{transition:none}.plat-menu{transition:none}}

  /* ---- Feature 02: Shopify-style sell-everywhere fan ---- */
  .sell-stage{display:flex;align-items:center;justify-content:center}
  .sell{position:relative;width:300px;max-width:100%;height:100%;container-type:inline-size}
  .sell-glow{position:absolute;left:50%;top:60%;width:120%;height:70%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,255,255,0.05),transparent 70%);pointer-events:none;z-index:0}
  .sell-card{display:flex;align-items:center;gap:3.2cqw;padding:2.6cqw 3.5cqw 2.6cqw 2.6cqw;border-radius:4cqw;background:rgba(30,34,33,0.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.08);box-shadow:0 18px 38px rgba(0,0,0,0.45);white-space:nowrap}
  .sc-thumb{width:15cqw;height:15cqw;flex:none;border-radius:3.2cqw;overflow:hidden;background:#f2f0ee}
  .sc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .sc-name{font-family:var(--serif);font-size:4.6cqw;font-weight:500;color:#f4f4f4;line-height:1.05;letter-spacing:0}
  .sc-price{font-size:3.6cqw;font-weight:600;color:rgba(255,255,255,0.62);margin-top:0.9cqw}
  .sell-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}
  .sell-lines path:not(.sell-flow){fill:none;stroke:rgba(255,255,255,0.5);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .7s var(--ease)}
  .fx.seen .sell-lines path:not(.sell-flow){opacity:1}
  .sell-flow{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;clip-path:inset(0 0 100% 0)}
  .sell-flow path{fill:none;stroke:#ffffff;stroke-width:1.9;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(255,255,255,0.9))}
  @keyframes flowReveal{0%{clip-path:inset(0 0 100% 0);opacity:1}10%{opacity:1}85%{clip-path:inset(0 0 -3% 0)}100%{clip-path:inset(0 0 -3% 0);opacity:1}}
  .sell.signal .sell-flow{animation:flowReveal 1.1s var(--ease) both}
  .sell-hub{transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
  .sell-hub.lit{border-color:rgba(255,255,255,0.85);box-shadow:0 0 0 1.5px rgba(255,255,255,0.6),0 0 8px 0 rgba(255,255,255,0.4);animation:hubPunch .5s var(--ease)}
  @keyframes hubPunch{0%{transform:translate(-50%,-50%) scale(1)}26%{transform:translate(-50%,-50%) scale(1.17)}54%{transform:translate(-50%,-50%) scale(0.95)}100%{transform:translate(-50%,-50%) scale(1)}}
  .ch .ch-in{transition:box-shadow .35s var(--ease)}
  @keyframes chPulse{0%{box-shadow:0 8px 20px rgba(0,0,0,0.42)}45%{box-shadow:0 0 0 2.5px rgba(255,255,255,0.95),0 0 4px 0 rgba(255,255,255,0.5)}100%{box-shadow:0 0 0 1px rgba(255,255,255,0.3),0 8px 20px rgba(0,0,0,0.42)}}
  .ch.lit .ch-in{animation:chPulse 1.1s var(--ease) forwards}
  .sc-meta{overflow:hidden;transition:max-width .45s var(--ease),opacity .35s var(--ease),margin .45s var(--ease)}
  .sell.collapsed .sc-meta{max-width:0;opacity:0;margin-left:-11px}
  .sell-card{transition:transform .55s var(--ease),opacity .5s var(--ease)}
  @keyframes cardMerge{0%{transform:translate(-50%,-50%);opacity:1}72%{opacity:1}100%{transform:translate(-50%,-50%) translateY(72px) scale(.24);opacity:0}}
  .sell.merge .sell-card{animation:cardMerge .4s cubic-bezier(.55,0,.9,.35) forwards}
  @media (prefers-reduced-motion:reduce){.sell-flow{display:none}}
  .sell-node{position:absolute;z-index:2;opacity:0;transform:translate(-50%,-50%) scale(.82);transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .fx.seen .sell-node{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .sell-item{width:66px;height:66px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,0.16);box-shadow:0 16px 32px rgba(0,0,0,0.5)}
  .sell-item img{width:100%;height:100%;object-fit:cover;display:block}
  .sell-hub{width:15.6cqw;height:15.6cqw;border-radius:4.2cqw;background:#0f1317;border:1px solid rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(0,0,0,0.45)}
  .sell-hub img{width:8.7cqw;height:auto;filter:invert(1) brightness(2)}
  .ch-in{width:12cqw;height:12cqw;border-radius:3.2cqw;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,0.42);overflow:hidden}
  .ch-in img{width:66%;height:66%;object-fit:contain}
  .ch-fb{display:flex;align-items:center;justify-content:center;text-align:center;font-size:8.5px;font-weight:700;color:#2a2a2a;line-height:1.05;letter-spacing:-0.02em;padding:2px}
  @media (max-width:900px){.sell{max-width:320px}}
  @media (prefers-reduced-motion:reduce){.sell-node{opacity:1;transform:translate(-50%,-50%)}.sell-lines path{stroke-dashoffset:0}}
  .grid-bg{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,0.055) 1px,transparent 0);background-size:22px 22px;opacity:.7;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 26%,transparent 92%);mask-image:linear-gradient(180deg,#000 26%,transparent 92%)}
  .glow{position:absolute;left:50%;top:-28%;width:130%;height:64%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,255,255,0.07),transparent);pointer-events:none}
  .fx-num{position:relative;z-index:3;display:flex;align-items:baseline;flex-wrap:nowrap;gap:3cqw;white-space:nowrap}
  .fx-num .n{font-weight:500;font-size:clamp(21px,8.2cqw,42px);letter-spacing:-0.045em;color:rgba(255,255,255,0.26);line-height:1;font-variant-numeric:tabular-nums}
  .fx-num .w{font-weight:500;font-size:clamp(21px,8.2cqw,42px);letter-spacing:-0.045em;color:#fff;line-height:1}
  .fx-stage{position:relative;z-index:2;flex:1;margin:14px 0 14px;min-height:210px}
  .fx-foot{position:relative;z-index:3}
  .fx-foot h3{font-weight:500;font-size:19px;letter-spacing:-0.02em;line-height:1.22;max-width:22ch;color:#fff}
  .fx-foot p{margin-top:9px;color:rgba(255,255,255,0.48);font-size:13.5px;line-height:1.45}
  .mk{position:absolute}
  .mkcard{background:#141414;border:1px solid rgba(255,255,255,0.1);border-radius:13px;box-shadow:0 20px 46px rgba(0,0,0,0.55)}
  .chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 9px;border-radius:100px;font-weight:500;white-space:nowrap;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.82)}
  .chip .dot{width:6px;height:6px;border-radius:50%;background:#5dcaa5;box-shadow:0 0 0 3px rgba(93,202,165,0.16);flex:none}
  .chip.teal{color:#8fe6cc;border-color:rgba(93,202,165,0.35);background:rgba(93,202,165,0.10)}
  .chip.coral{color:#f2a488;border-color:rgba(216,90,48,0.42);background:rgba(216,90,48,0.12)}
  .mk-photo{left:1%;top:5%;width:148px;height:188px;border-radius:14px;background:linear-gradient(150deg,#41506a,#22262f 62%,#161616);border:1px solid rgba(255,255,255,0.1);overflow:hidden;box-shadow:0 22px 46px rgba(0,0,0,0.5)}
  .mk-photo .subj{position:absolute;left:24%;top:15%;width:52%;height:76%;border-radius:8px 8px 42% 42%;background:linear-gradient(160deg,#7688a0,#39404d);opacity:.92}
  .vf{position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,0.85)}
  .vf.tl{left:9px;top:9px;border-right:0;border-bottom:0}
  .vf.tr{right:9px;top:9px;border-left:0;border-bottom:0}
  .vf.bl{left:9px;bottom:9px;border-right:0;border-top:0}
  .vf.br{right:9px;bottom:9px;border-left:0;border-top:0}
  .mk-photo .scan{position:absolute;left:9px;bottom:9px}
  .mk-listing{right:0;bottom:3%;width:216px;padding:13px}
  .lg-badge{position:absolute;right:12px;top:-11px;font-size:10.5px;font-weight:500;color:#0a0a0a;background:#fff;padding:4px 9px;border-radius:100px}
  .lg-row{display:flex;gap:10px;align-items:center}
  .lg-thumb{width:38px;height:38px;border-radius:8px;background:linear-gradient(150deg,#7688a0,#333);flex:none}
  .lg-title{font-size:13px;font-weight:500;color:#fff;letter-spacing:-0.01em}
  .lg-meta{font-size:11px;color:rgba(255,255,255,0.45);margin-top:2px}
  .lg-price{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:18px;font-weight:500;letter-spacing:-0.02em;color:#fff}
  .lg-ch{display:flex;gap:5px;margin-top:12px;align-items:center}
  .lg-ch i{width:19px;height:19px;border-radius:6px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);display:block;flex:none}
  .mk-net{position:absolute;inset:0}
  .mk-net svg{position:absolute;inset:0;width:100%;height:100%}
  .node{position:absolute;transform:translate(-50%,-50%);z-index:2}
  .node .nt{font-size:12px;font-weight:500;color:#fff;letter-spacing:-0.01em}
  .node .nm{font-size:10.5px;color:rgba(255,255,255,0.45);margin-top:2px}
  .mk-ledger{left:0;right:0;margin-left:auto;margin-right:auto;top:2%;width:300px;max-width:100%;padding:14px 15px 13px}
  .led-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .led-top .h{font-size:12px;color:rgba(255,255,255,0.5)}
  .led-row{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,0.07)}
  .av{width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:600;color:#0a0a0a;flex:none}
  .led-name{font-size:12.5px;color:#fff;font-weight:500;display:block}
  .led-tag{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;padding:2px 6px;border-radius:5px;vertical-align:middle;color:#8fe6cc;background:rgba(143,230,204,0.12);border:1px solid rgba(143,230,204,0.24)}
  .led-tag.own{color:rgba(255,255,255,0.62);background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.16)}
  .led-item{font-size:11px;color:rgba(255,255,255,0.45);margin-top:1px;display:block}
  .led-pay{font-size:12.5px;font-weight:500;color:#8fe6cc;text-align:right;display:block}
  .led-note{margin-top:12px;display:flex;justify-content:center}
  /* Get-paid ledger, looping movement */
  #ledTotal{transition:color .3s var(--ease)}
  #ledTotal.bump{color:#bff3e0}
  .led-row.pop{animation:ledPop .62s var(--ease)}
  .led-row.pop .led-pay{animation:ledPayIn .62s var(--ease)}
  .led-row.pop .av{animation:ledAv .62s var(--ease)}
  #ledPending{transition:color .45s var(--ease)}
  #ledPending.settled{color:#8fe6cc!important;animation:ledPayIn .55s var(--ease)}
  @keyframes ledPop{0%{transform:translateY(7px);opacity:.5}55%{transform:translateY(-2px)}100%{transform:none;opacity:1}}
  @keyframes ledPayIn{0%{transform:translateX(8px) scale(.9);opacity:0}60%{transform:translateX(-1px) scale(1.06)}100%{transform:none;opacity:1}}
  @keyframes ledAv{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}100%{transform:none;opacity:1}}
  @media (prefers-reduced-motion:reduce){.led-row.pop,.led-row.pop .led-pay,.led-row.pop .av,#ledPending.settled{animation:none}}
  @media (max-width:900px){
    .fx-grid{flex-direction:column;gap:16px}
    /* flex:1 1 0 collapses each card to nothing in a column with no fixed height, size to content
       instead, give the mockup stage a real height, and force the demos visible (the scroll-reveal
       that sets .seen doesn't always fire reliably on mobile, leaving the cards looking empty). */
    .fx-card{min-height:auto;flex:0 0 auto}
    /* a DEFINITE height (not just min-height) so the mockups' height:100% + top:% positioning
       resolves, otherwise the Sell-everywhere network collapses into an overlapping pile. */
    .fx-stage{flex:0 0 auto;height:320px;min-height:0}
    .fx .anim{opacity:1;transform:none}
    .fx-num{transform:none}
    .fx-more{max-height:6em;opacity:1;margin-top:14px}
    .fx-card .fx-num .w{color:#fff}
  }

  /* ---------------- FALLBACK PLACEHOLDERS ---------------- */
  .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .fallback.dark{background:radial-gradient(120% 130% at 50% 0%,#1b1b1b 0%,#101010 55%,#0a0a0a 100%)}
  .fallback.light{background:var(--paper-2)}
  .fallback span{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;padding:8px 13px;border-radius:100px}
  .fallback.dark span{color:var(--white-faint);border:1px dashed var(--line-d)}
  .fallback.light span{color:var(--ink-3);border:1px dashed var(--line)}

  /* ---------------- RESPONSIVE ---------------- */
  @media (max-width:1080px){
    .prob-grid{grid-template-columns:repeat(2,1fr);gap:40px 34px}
  }
  @media (max-width:900px){
    .wrap,.nav-inner{padding:0 24px}
    .nav-links{display:none}
    .nav-inner{grid-template-columns:1fr auto}
    .nav-toggle{display:block}
    .hero-links{display:none}
    .hero-grid{grid-template-columns:1fr}
    .panel-inner{grid-template-columns:1fr;gap:34px}
    .feat-head{grid-template-columns:1fr;gap:26px}
    .feat-head h2{max-width:20ch}
    .stat-grid{grid-template-columns:1fr;gap:30px}
    .foot-cols{grid-template-columns:1fr 1fr;gap:36px 24px}
    .fpanel{aspect-ratio:16/10}
    .foot-bottom .mark{font-size:52px}
    .foot-legal{text-align:left}
  }
  @media (max-width:560px){
    .prob-grid{grid-template-columns:1fr}
    .foot-cols{grid-template-columns:1fr 1fr}
    .nav-right .btn-soft{display:none}
    .hero{min-height:580px}
    .band{padding:clamp(58px,13vw,150px) 0}
  }

  /* Mobile nav menu, the hamburger opens the links as a dropdown (they're hidden in the bar ≤900px,
     and the toggle previously did nothing / just jumped to a section). Adapts to the light/dark nav. */
  @media (max-width:900px){
    .nav-links{
      display:flex;flex-direction:column;gap:0;justify-content:flex-start;align-items:stretch;
      position:fixed;top:var(--nav-h);left:0;right:0;
      padding:4px clamp(18px,5vw,24px) 16px;
      border-bottom:1px solid transparent;
      opacity:0;transform:translateY(-10px);pointer-events:none;
      transition:opacity .24s var(--ease),transform .24s var(--ease);
    }
    .nav.theme-dark .nav-links{background:rgba(10,10,10,0.95);border-bottom-color:var(--line-d2);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}
    .nav.theme-light .nav-links{background:rgba(255,255,255,0.96);border-bottom-color:var(--line-2);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}
    .nav.menu-open .nav-links{opacity:1;transform:none;pointer-events:auto}
    .nav-links a{font-size:16px;opacity:1;padding:15px 2px}
    .nav.theme-dark .nav-links a{border-bottom:1px solid var(--line-d2)}
    .nav.theme-light .nav-links a{border-bottom:1px solid var(--line-2)}
    .nav-links a:last-child{border-bottom:0}
  }

  /* ============ SCROLL-REVEAL STATEMENT ============ */
  .bigtext{position:relative;background:#060607;height:118vh}
  .bt-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;padding:0 clamp(24px,7vw,120px)}
  .bt-copy{max-width:840px;margin:0 auto;text-align:center;font-weight:500;font-size:clamp(23px,2.4vw,35px);line-height:1.4;letter-spacing:-0.018em;color:rgba(255,255,255,0.14)}
  .bt-copy br{display:block;content:""}
  .bt-copy .rw{color:rgba(255,255,255,0.14);transition:color .3s linear}
  .bt-copy .rw.on{color:#f4f5f6}
  @media (max-width:700px){.bigtext{height:112vh}.bt-copy{font-size:clamp(23px,6.4vw,34px)}}

  /* ============ CAPABILITIES, black feature cards on white ============ */
  .caps{background:#fff;color:#0a0a0a;position:relative}
  .caps-head{max-width:1200px;margin:0 auto;padding:clamp(80px,10vw,140px) clamp(20px,5vw,60px) clamp(26px,4vw,44px)}
  .caps-eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(10,10,10,0.4)}
  .caps-head h2{margin-top:0;font-weight:600;font-size:14px;letter-spacing:0.14em;text-transform:uppercase;line-height:1;color:rgba(10,10,10,0.4)}
  .caps-stack{max-width:1360px;margin:0 auto;padding:0 clamp(18px,4vw,52px) clamp(40px,8vw,120px);perspective:2000px}
  .cap-row{position:sticky;top:clamp(8px,1.6vh,20px);background:#0a0a0b;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:1fr 1.06fr;align-items:stretch;min-height:clamp(500px,52vw,690px);color:#fff;box-shadow:0 34px 80px rgba(10,10,10,0.26);margin-bottom:clamp(44px,9vh,110px);transform-origin:50% 100%;will-change:transform,filter;backface-visibility:hidden}
  .cap-row:last-child{margin-bottom:0}
  .cap-row::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(90px,20%,150px);pointer-events:none;z-index:6;background:linear-gradient(180deg,transparent,rgba(6,6,7,0.55));backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);-webkit-mask:linear-gradient(180deg,transparent,#000 80%);mask:linear-gradient(180deg,transparent,#000 80%)}
  .cap-copy{padding:clamp(30px,3.4vw,56px) clamp(24px,3vw,50px) clamp(60px,8vw,120px) clamp(64px,7vw,132px);display:flex;flex-direction:column;justify-content:space-between;z-index:2;gap:28px}
  .cap-tag{font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.25vw,19px);color:rgba(255,255,255,0.42);letter-spacing:-0.01em;max-width:24ch;line-height:1.35}
  .cap-btm{max-width:42ch}
  .cap-idx{font-size:13px;font-weight:600;letter-spacing:0.06em;color:rgba(255,255,255,0.32);font-variant-numeric:tabular-nums;margin-bottom:14px}
  .cap-btm h3{font-weight:500;font-size:clamp(30px,3.3vw,50px);letter-spacing:-0.035em;line-height:1;color:#fff}
  .cap-btm p{margin-top:16px;font-size:clamp(14.5px,1.12vw,17px);line-height:1.5;color:rgba(255,255,255,0.52);max-width:38ch}
  .cap-vis{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(20px,2.6vw,44px);overflow:hidden}
  /* phone visual */
  .cap-vis.is-phone{align-items:center;padding:0 clamp(16px,2vw,40px)}
  .cap-vis.is-phone::before{content:"";position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:min(80%,440px);height:78%;background:radial-gradient(ellipse at center,rgba(150,170,255,0.20),rgba(255,255,255,0.07) 46%,transparent 72%);filter:blur(34px);z-index:0;pointer-events:none}
  .ph-wrap{position:relative;z-index:1;height:78%;max-height:82%;aspect-ratio:877/1781;flex:none}
  .pop-marks{position:absolute;left:5%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:22px;z-index:3}
  .pop-mark{position:relative;width:clamp(52px,4.6vw,72px);height:clamp(52px,4.6vw,72px);border-radius:19px;background:#fff;box-shadow:0 20px 40px rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5) translateY(16px);transition:opacity .4s var(--ease),transform .55s cubic-bezier(.34,1.56,.64,1)}
  .pop-mark img{width:60%;height:60%;object-fit:contain}
  .pop-marks.show .pop-mark{opacity:1;transform:none}
  .pop-marks.show .pop-mark:nth-child(2){transition-delay:.15s}
  .pm-check{position:absolute;bottom:-6px;right:-6px;width:23px;height:23px;border-radius:50%;background:#30d158;border:2.5px solid #0a0a0b;display:flex;align-items:center;justify-content:center}
  .pm-check::after{content:"\2713";color:#fff;font-size:12px;font-weight:800;line-height:1}
  .cap-phone-ph{position:absolute;inset:0;background:url(/infra/assets/phone.png) center/contain no-repeat;filter:drop-shadow(0 26px 46px rgba(0,0,0,0.55))}
  .ph-screen{position:absolute;top:2.7%;left:4.9%;right:4.9%;bottom:2.7%;border-radius:13% / 6.2%;overflow:hidden;background:#fff;display:flex;flex-direction:column;font-family:-apple-system,"Hanken Grotesk",sans-serif}
  .im-island{position:absolute;top:2.6%;left:50%;transform:translateX(-50%);width:31%;height:3.4%;min-height:16px;background:#000;border-radius:20px;z-index:6}
  .im-status{display:flex;justify-content:space-between;align-items:center;padding:9px 20px 3px;color:#000;font-size:12px;font-weight:600}
  .im-status .sig{display:flex;gap:4px;align-items:center;color:#000;font-size:11px}
  .im-nav{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px 8px;border-bottom:0.5px solid #e3e3e6;position:relative}
  .im-nav .chev{position:absolute;left:12px;top:5px;color:#0a84ff;font-size:20px;line-height:1;font-weight:400}
  .im-nav .im-av{width:32px;height:32px;border-radius:50%;overflow:hidden;background:#f4c4d6;flex:none;display:flex;align-items:center;justify-content:center}
  .im-nav .im-av img{width:60%;height:60%;object-fit:contain}
  .im-nav .im-nm{font-size:11px;font-weight:600;color:#000;display:flex;align-items:center;gap:3px}
  .im-nav .im-nm::after{content:"\203A";color:#b0b0b5;font-size:12px}
  .im-body{flex:1;min-height:0;padding:12px 12px 6px;display:flex;flex-direction:column;gap:5px;background:#fff;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask:linear-gradient(180deg,transparent 0,#000 9%);mask:linear-gradient(180deg,transparent 0,#000 9%)}
  .im-body::-webkit-scrollbar{display:none}
  .im-body::before{content:"";margin-top:auto;flex:none}
  .im-b{max-width:80%;padding:6px 11px;border-radius:16px;font-size:12px;line-height:1.3;word-wrap:break-word;-webkit-font-smoothing:antialiased}
  .im-in{align-self:flex-start;background:#e9e9eb;color:#000;border-bottom-left-radius:5px}
  .im-out{align-self:flex-end;background:#1b9df7;color:#fff;border-bottom-right-radius:5px}
  .im-tstamp{align-self:center;font-size:10px;color:#8e8e93;margin:2px 0 4px;font-weight:600}
  .im-tstamp b{color:#000;font-weight:600}
  .im-photo{align-self:flex-end;width:35%;border-radius:14px;overflow:hidden;background:#eee;line-height:0}
  .im-photo img{width:100%;display:block}
  .im-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 13px;background:#e9e9eb;border-radius:18px;border-bottom-left-radius:5px}
  .im-typing span{width:6px;height:6px;border-radius:50%;background:#9a9a9f;animation:imDot 1.2s var(--ease) infinite}
  .im-typing span:nth-child(2){animation-delay:.18s}.im-typing span:nth-child(3){animation-delay:.36s}
  @keyframes imDot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
  .im-compose{display:flex;align-items:center;gap:8px;padding:6px 11px 4px}
  .im-icn{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#8e8e93}
  .im-icn svg{width:19px;height:19px;display:block}
  .im-field{flex:1;height:28px;border-radius:15px;border:1px solid #d1d1d6;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 12px;font-size:12px;color:#8e8e93}
  .im-field svg{width:17px;height:17px;color:#8e8e93}
  .im-home{height:14px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px}
  .im-home::after{content:"";width:36%;height:4px;border-radius:3px;background:#000}
  .im-msg.hide{display:none}
  /* generic data panel (trends / offers / messaging) */
  .cap-panel{width:100%;max-width:392px;background:#fff;border:1px solid rgba(10,10,10,0.06);border-radius:20px;padding:22px 22px 20px;box-shadow:0 26px 58px rgba(0,0,0,0.42)}
  /* trends */
  .tr-h{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}
  .tr-h .tt{font-size:15px;font-weight:600;color:#0a0a0a;letter-spacing:-0.015em}
  .tr-h .sb{font-size:11px;font-weight:500;color:rgba(10,10,10,0.45);display:flex;align-items:center;gap:6px}
  .tr-h .sb::before{content:"";width:6px;height:6px;border-radius:50%;background:#0f9e78;box-shadow:0 0 0 3px rgba(15,158,120,0.16)}
  .tr-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(10,10,10,0.08)}
  .tr-l{display:flex;flex-direction:column;gap:2px;min-width:0}
  .tr-nm{font-size:13.5px;font-weight:600;color:#0a0a0a;letter-spacing:-0.01em}
  .tr-sub{font-size:11px;color:rgba(10,10,10,0.42)}
  .tr-chg{font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;white-space:nowrap}
  .tr-chg.up{color:#0f9e78;background:rgba(15,158,120,0.1)}
  .tr-chg.down{color:rgba(10,10,10,0.42);background:rgba(10,10,10,0.05)}
  /* offers */
  .of-item{display:flex;gap:13px;align-items:center;padding-bottom:15px;margin-bottom:6px;border-bottom:1px solid rgba(10,10,10,0.08)}
  .of-thumb{width:50px;height:50px;border-radius:12px;background:#ece9e6;overflow:hidden;flex:none}
  .of-thumb img{width:100%;height:100%;object-fit:cover}
  .of-nm{font-size:14px;font-weight:600;color:#0a0a0a}
  .of-sub{font-size:12px;color:rgba(10,10,10,0.45);margin-top:2px}
  .of-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid rgba(10,10,10,0.07)}
  .of-l{display:flex;flex-direction:column;gap:2px;min-width:0}
  .of-buyer{font-size:13.5px;font-weight:600;color:#0a0a0a}
  .of-time{font-size:11px;color:rgba(10,10,10,0.4)}
  .of-r{display:flex;align-items:center;gap:10px;flex:none}
  .of-amt{font-size:14px;font-weight:600;color:#0a0a0a;font-variant-numeric:tabular-nums}
  .of-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px}
  .of-acc{color:#fff;background:#0f9e78}
  .of-wait{color:rgba(10,10,10,0.5);background:rgba(10,10,10,0.06)}
  /* messaging thread */
  .ms-hd{display:flex;align-items:center;gap:11px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(10,10,10,0.08)}
  .ms-av{width:36px;height:36px;border-radius:50%;background:#f2d3de;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#8a4a63}
  .ms-nm{font-size:14px;font-weight:600;color:#0a0a0a}
  .ms-on{font-size:11px;color:rgba(10,10,10,0.42);margin-top:2px}
  .ms-thread{display:flex;flex-direction:column;gap:8px}
  .ms-b{max-width:80%;padding:8px 13px;border-radius:16px;font-size:13px;line-height:1.3}
  .ms-in{align-self:flex-start;background:#e9e9eb;color:#0a0a0a;border-bottom-left-radius:5px}
  .ms-out{align-self:flex-end;background:#1b9df7;color:#fff;border-bottom-right-radius:5px}
  /* live media frame */
  .cap-live{width:100%;max-width:400px;aspect-ratio:5/4;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 22px 50px rgba(0,0,0,0.5)}
  .lv{position:absolute;inset:0;background:linear-gradient(160deg,#2a2320,#0e0c0b)}
  .lv-badge{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:6px;background:#e0384f;color:#fff;font-size:11px;font-weight:700;letter-spacing:0.06em;padding:5px 10px;border-radius:8px}
  .lv-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff}
  .lv-views{position:absolute;top:16px;right:16px;background:rgba(0,0,0,0.4);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px}
  .lv-cmts{position:absolute;left:16px;bottom:70px;display:flex;flex-direction:column;gap:7px}
  .lv-c{font-size:12px;color:rgba(255,255,255,0.92)}
  .lv-c b{color:#fff;font-weight:700;margin-right:6px}
  .lv-pin{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:11px;align-items:center;background:rgba(255,255,255,0.94);border-radius:14px;padding:9px 11px}
  .lv-pin .of-thumb{width:38px;height:38px;border-radius:9px}
  .lv-pt{font-size:13px;font-weight:600;color:#0a0a0a}
  .lv-pp{font-size:12px;color:#0f8f6a;font-weight:600;margin-top:2px}
  .lv-buy{margin-left:auto;background:#0a0a0a;color:#fff;font-size:12px;font-weight:600;padding:8px 15px;border-radius:20px}
  /* panel animations */
  .tr-item,.of-row{opacity:0;transform:translateY(9px);transition:opacity .5s var(--ease),transform .5s var(--ease),background .5s var(--ease)}
  .tr-item.show,.of-row.show{opacity:1;transform:none}
  .tr-item.hot{background:rgba(15,158,120,0.09)}
  .of-pill{transition:transform .35s var(--ease)}
  .of-row.pop .of-pill{animation:ofPop .5s var(--ease)}
  @keyframes ofPop{0%{transform:scale(.7)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
  .ms-b{display:none}
  .ms-b.show{display:block;animation:msIn .42s var(--ease)}
  @keyframes msIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
  .ms-typing{display:none;align-self:flex-start;gap:4px;padding:9px 13px;background:#e9e9eb;border-radius:16px;border-bottom-left-radius:5px}
  .ms-typing.show{display:flex}
  .ms-typing span{width:6px;height:6px;border-radius:50%;background:#9a9a9f;animation:imDot 1.2s var(--ease) infinite}
  .ms-typing span:nth-child(2){animation-delay:.18s}.ms-typing span:nth-child(3){animation-delay:.36s}
  @media (prefers-reduced-motion:reduce){.tr-item,.of-row{opacity:1;transform:none}.ms-b{display:block}.ms-typing{display:none}}
  @media (max-width:860px){
    .cap-row{grid-template-columns:1fr;min-height:0}
    .cap-copy{order:2;padding:26px 26px 34px}
    .cap-vis{order:1;padding:30px 26px 4px;min-height:340px}
    .cap-vis.is-phone{min-height:420px}
    .ph-wrap{height:auto;width:min(210px,60vw)}
    .pop-marks{display:none}
  }

/* ============================================================
   SUBPAGES (features / company / contact / get-started)
   ============================================================ */
.page{background:#fff;color:#0a0a0a}
.subhero{background:#fff;color:#0a0a0a;padding:clamp(130px,17vh,200px) 0 clamp(38px,5vw,70px)}
.subhero .wrap{max-width:var(--max)}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(10,10,10,0.4)}
.subhero h1{margin-top:20px;font-weight:300;font-size:clamp(44px,6.6vw,92px);letter-spacing:-0.035em;line-height:1;max-width:16ch}
.subhero .sub{margin-top:26px;font-size:clamp(17px,1.5vw,22px);line-height:1.45;color:rgba(10,10,10,0.55);max-width:54ch}
.subhero .cta-row{margin-top:34px}

.sec{padding:clamp(44px,6vw,96px) 0}
.sec.alt{background:#f6f5f3}
.sec.dark{background:#0a0a0b;color:#fff}
.sec-head{max-width:var(--max);margin:0 auto;padding:0 40px}
.sec-title{font-weight:500;font-size:clamp(28px,3.4vw,50px);letter-spacing:-0.035em;line-height:1.03;max-width:20ch}
.sec-sub{margin-top:18px;font-size:clamp(16px,1.3vw,19px);line-height:1.5;color:rgba(10,10,10,0.52);max-width:60ch}
.sec.dark .sec-sub{color:rgba(255,255,255,0.55)}

/* alternating feature detail rows */
.feat-rows{max-width:var(--max);margin:clamp(30px,4vw,60px) auto 0;padding:0 40px;display:flex;flex-direction:column;gap:clamp(26px,3vw,44px)}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(26px,3vw,44px) 0;border-top:1px solid rgba(10,10,10,0.1)}
.feat-row .fr-num{font-size:13px;font-weight:600;letter-spacing:0.06em;color:rgba(10,10,10,0.32);font-variant-numeric:tabular-nums}
.feat-row h3{margin-top:12px;font-weight:500;font-size:clamp(24px,2.6vw,38px);letter-spacing:-0.03em;line-height:1.04}
.feat-row p{margin-top:16px;font-size:16px;line-height:1.55;color:rgba(10,10,10,0.55);max-width:44ch}
.feat-row .fr-list{margin-top:18px;display:flex;flex-direction:column;gap:9px}
.feat-row .fr-list span{position:relative;padding-left:22px;font-size:14.5px;color:rgba(10,10,10,0.7);line-height:1.4}
.feat-row .fr-list span::before{content:"";position:absolute;left:0;top:6px;width:11px;height:11px;border-radius:3px;background:#0f9e78}
.fr-visual{aspect-ratio:5/4;border-radius:20px;background:#0a0a0b;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(10,10,10,0.16);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);font-size:13px}
.feat-row:nth-child(even) .fr-visual{order:-1}

/* value / mission grid */
.val-grid{max-width:var(--max);margin:clamp(30px,4vw,54px) auto 0;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,26px)}
.val-card{border:1px solid rgba(10,10,10,0.1);border-radius:18px;padding:clamp(22px,2.4vw,32px);background:#fff}
.val-card .vc-ic{width:38px;height:38px;border-radius:11px;background:#0a0a0b;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.val-card .vc-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}
.val-card h4{font-weight:500;font-size:19px;letter-spacing:-0.02em}
.val-card p{margin-top:10px;font-size:14.5px;line-height:1.5;color:rgba(10,10,10,0.55)}

/* big statement */
.statement{max-width:var(--max);margin:0 auto;padding:0 40px;font-weight:400;font-size:clamp(26px,3.4vw,50px);line-height:1.22;letter-spacing:-0.03em;max-width:26ch}
.statement .em{font-family:var(--serif);font-style:italic}

/* stat row */
.mini-stats{max-width:var(--max);margin:clamp(30px,4vw,50px) auto 0;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,50px)}
.mini-stats .ms b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(38px,5vw,68px);letter-spacing:-0.02em;line-height:1}
.mini-stats .ms span{display:block;margin-top:10px;font-size:14px;color:rgba(10,10,10,0.5);max-width:24ch}
.sec.dark .mini-stats .ms span{color:rgba(255,255,255,0.5)}

/* forms */
.form-wrap{max-width:640px;margin:0 auto;padding:0 40px}
.form-card{background:#fff;border:1px solid rgba(10,10,10,0.1);border-radius:22px;padding:clamp(26px,3.4vw,44px);box-shadow:0 30px 70px rgba(10,10,10,0.08)}
.form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:12.5px;font-weight:600;letter-spacing:0.02em;color:rgba(10,10,10,0.6)}
.field input,.field textarea,.field select{font-family:inherit;font-size:15px;color:#0a0a0a;background:#f6f5f3;border:1px solid rgba(10,10,10,0.12);border-radius:12px;padding:13px 15px;outline:none;transition:border-color .2s var(--ease),background .2s var(--ease)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#0a0a0a;background:#fff}
.field textarea{resize:vertical;min-height:130px}
.field input::placeholder,.field textarea::placeholder{color:rgba(10,10,10,0.34)}
.form .btn{align-self:flex-start;margin-top:6px}
.form-note{font-size:12.5px;color:rgba(10,10,10,0.42);line-height:1.5}
.form-ok{display:none;text-align:center;padding:20px 0}
.form-ok.show{display:block}
.form-ok .chk{width:52px;height:52px;border-radius:50%;background:#0f9e78;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.form-ok .chk svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:2.4}
.form-ok h3{font-weight:500;font-size:24px;letter-spacing:-0.02em}
.form-ok p{margin-top:10px;color:rgba(10,10,10,0.55);font-size:15px}
.form.hide{display:none}

/* contact info blocks */
.contact-cols{max-width:var(--max);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:start}
.info-list{display:flex;flex-direction:column;gap:26px}
.info-item h4{font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:rgba(10,10,10,0.4)}
.info-item a,.info-item p{margin-top:8px;display:block;font-size:18px;color:#0a0a0a;letter-spacing:-0.01em}
.info-item a:hover{color:#0f9e78}

/* waitlist perks */
.perks{max-width:520px;margin:26px auto 0;padding:0 40px;display:flex;flex-direction:column;gap:12px}
.perks .perk{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:rgba(10,10,10,0.6);line-height:1.45}
.perks .perk svg{width:19px;height:19px;flex:none;margin-top:2px;stroke:#0f9e78;fill:none;stroke-width:2}

@media (max-width:820px){
  .feat-row{grid-template-columns:1fr;gap:22px}
  .feat-row:nth-child(even) .fr-visual{order:0}
  .val-grid{grid-template-columns:1fr}
  .mini-stats{grid-template-columns:1fr;gap:26px}
  .contact-cols{grid-template-columns:1fr;gap:36px}
  .form-row{grid-template-columns:1fr}
}

/* image logo variants for subpages */
.brand-mark{height:26px;width:auto;display:block}
header.nav.theme-dark .brand-mark{filter:invert(1) brightness(2)}
.foot-mark{height:58px;width:auto;display:block;filter:invert(1) brightness(2)}

/* enlarged CTA headline */
.cta-big{font-size:clamp(46px,7vw,104px);letter-spacing:-0.045em;line-height:0.98}

/* company: thesis with flicker stats on the right */
.thesis-grid{max-width:var(--max);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(30px,5vw,84px);align-items:center}
.thesis-copy .sec-title{max-width:16ch}
.thesis-stats{display:flex;flex-direction:column;gap:clamp(16px,2.2vw,30px)}
.tstat{border-top:1px solid rgba(10,10,10,0.14);padding-top:clamp(14px,1.8vw,24px)}
.tstat-n{font-family:var(--serif);font-weight:500;font-size:clamp(46px,6.2vw,88px);letter-spacing:-0.02em;line-height:1;font-variant-numeric:tabular-nums;color:#0a0a0a}
.tstat-n.flick{color:rgba(10,10,10,0.55)}
.tstat span{display:block;margin-top:8px;font-size:14px;color:rgba(10,10,10,0.5);max-width:30ch}
@media (max-width:820px){.thesis-grid{grid-template-columns:1fr;gap:32px}}

/* rotating "VYA can help you ___" (hyper-style vertical roll) */
.rotor{max-width:var(--max);margin:0 auto;padding:0 40px;letter-spacing:-0.035em;line-height:1.15;white-space:nowrap;font-size:clamp(30px,5vw,72px);text-align:center}
.rotor-lead{font-weight:400;color:rgba(10,10,10,0.34)}
.rotor-logo{height:0.8em;width:auto;display:inline-block;vertical-align:baseline;margin-right:0;transform:translateY(0.04em);opacity:0.34}
.rotor-view{display:inline-block;vertical-align:top;height:1.15em;overflow:hidden}
.rotor-track{display:flex;flex-direction:column;will-change:transform}
.rotor-item{height:1.15em;line-height:1.15;white-space:nowrap;color:#0a0a0a;font-weight:600}
@media (max-width:720px){.rotor{white-space:normal;font-size:clamp(26px,7vw,40px)}.rotor-view{margin-left:0}}

/* ============ FAQ ============ */
.faq{background:#fff;color:#0a0a0a;padding:clamp(52px,7vw,110px) 0}
.faq .wrap{max-width:900px}
.faq-head{text-align:center;margin-bottom:clamp(26px,4vw,48px)}
.faq-head .eyebrow{color:rgba(10,10,10,0.4)}
.faq-head h2{margin-top:14px;font-weight:500;font-size:clamp(30px,4vw,54px);letter-spacing:-0.035em;line-height:1.02}
.faq-list{border-bottom:1px solid rgba(10,10,10,0.12)}
.faq-item{border-top:1px solid rgba(10,10,10,0.12)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 4px;font-weight:500;font-size:clamp(17px,1.6vw,22px);letter-spacing:-0.015em;color:#0a0a0a;transition:color .2s var(--ease)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:rgba(10,10,10,0.6)}
.faq-ic{position:relative;width:20px;height:20px;flex:none}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;background:#0a0a0a;border-radius:2px;transition:transform .3s var(--ease),opacity .3s var(--ease)}
.faq-ic::before{width:15px;height:2px;transform:translate(-50%,-50%)}
.faq-ic::after{width:2px;height:15px;transform:translate(-50%,-50%)}
.faq-item[open] .faq-ic::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-item[open] summary{color:#0a0a0a}
.faq-a{padding:0 4px 26px;font-size:clamp(15px,1.15vw,16.5px);line-height:1.6;color:rgba(10,10,10,0.55);max-width:70ch}
.faq-item[open] .faq-a{animation:faqIn .38s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.faq-foot{text-align:center;margin-top:clamp(30px,4vw,52px);font-size:16px;color:rgba(10,10,10,0.5)}
.faq-foot a{color:#0a0a0a;font-weight:500;border-bottom:1px solid rgba(10,10,10,0.25);padding-bottom:1px;transition:border-color .2s var(--ease)}
.faq-foot a:hover{border-color:#0a0a0a}

/* ============ WHO WE BUILD AROUND (special.co style) ============ */
.who{background:#0a0a0b;color:#fff;padding:clamp(52px,7vw,110px) 0;position:relative;overflow:hidden}
.who .wrap{max-width:var(--max)}
.who-eyebrow{font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:500}
.who h2{margin-top:18px;font-weight:400;font-size:clamp(36px,5vw,72px);letter-spacing:-0.04em;line-height:0.98;color:#fff;max-width:16ch}
.who-stack{margin-top:clamp(38px,5vw,72px);position:relative}
.who-glow{display:flex;justify-content:flex-end;margin-bottom:-22px;pointer-events:none}
.who-glow svg{width:min(46%,360px);display:block;filter:drop-shadow(0 14px 58px rgba(255,255,255,0.34));animation:whoFloat 6s ease-in-out infinite}
.who-row{display:flex;align-items:center;gap:22px;padding:clamp(15px,1.9vw,24px) 0}
.who-txt{flex:none;width:min(42%,360px)}
.who-row .wl{font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:#fff}
.who-row p{margin-top:9px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,0.46);max-width:40ch}
.who-line{position:relative;flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0.44),rgba(255,255,255,0.12))}
.who-line::before{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;background:#fff}
.who-ring{flex:none;width:min(46%,360px);height:60px;display:block}
@keyframes whoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:860px){.who-txt{width:auto}.who-line,.who-ring{display:none}.who-glow{display:none}}
@media (prefers-reduced-motion:reduce){.who-glow svg{animation:none}}


/* mission black box */
.mission-box{background:#0a0a0b;color:#fff;border-radius:28px;padding:clamp(44px,6vw,92px) clamp(30px,5vw,70px);text-align:center;box-shadow:0 34px 80px rgba(10,10,10,0.22)}
.mission-box .eyebrow{color:rgba(255,255,255,0.42)}
.mission-box .rotor{padding:0;max-width:none;margin:0 auto}
.mission-box .rotor-lead{color:rgba(255,255,255,0.4)}
.mission-box .rotor-item{color:#fff}

/* who-we-build-for: personas rise one-by-one on scroll */
.who-row{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.who-row.show{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.who-row{opacity:1;transform:none}}


/* ===== capabilities: how-it-works scroll stepper ===== */

  
  .vs-steps{--g:'Hanken Grotesk',sans-serif;--accent:#33d18f;
    --bg:#040405;--card:linear-gradient(160deg,#141619,#0c0d10);--line:rgba(255,255,255,0.09);--t2:rgba(255,255,255,0.5);--faint:rgba(255,255,255,0.34)}
  
  .vs-steps{position:relative;height:540vh}
  .vs-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
  .vs-wrap{max-width:1440px;margin:0 auto;height:100vh;display:grid;grid-template-columns:0.82fr 1.18fr;gap:56px;padding:0 64px;align-items:stretch}
  .vs-left{height:100vh;display:flex;flex-direction:column;padding:120px 0 0;min-width:0}
  .vs-head{font-weight:700;font-size:clamp(28px,2.6vw,40px);line-height:1.12;letter-spacing:-0.022em;max-width:16ch;flex:none;color:#f5f6f7}
  .vs-stepview{position:relative;flex:1;overflow:hidden;margin-top:22px;padding-left:34px;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 84%,transparent 100%)}
  .vs-stepview::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}
  .vs-track{position:absolute;left:34px;right:0;top:0;will-change:transform}
  .vs-sd{padding-bottom:150px;opacity:.28;transition:opacity .45s} .vs-sd.vs-on{opacity:1}
  .vs-sd-r{display:flex;align-items:baseline;gap:16px}
  .vs-sd-num{font:600 13px var(--g);letter-spacing:0.08em;color:var(--faint)} .vs-sd.vs-on .vs-sd-num{color:var(--accent)}
  .vs-sd-t{font:600 29px var(--g);letter-spacing:-0.02em}
  .vs-sd-d{font:400 16.5px var(--g);color:var(--t2);line-height:1.5;margin-top:12px;max-width:38ch}
  .vs-right{position:relative;display:flex;flex-direction:column;justify-content:center}
  .vs-device{background:linear-gradient(180deg,#0c0d10,#08090b);border:1px solid rgba(255,255,255,0.06);border-radius:24px;box-shadow:0 40px 120px rgba(0,0,0,0.5);padding:22px;position:relative;overflow:hidden;min-height:600px;display:flex;flex-direction:column}
  .vs-device::before{content:"";position:absolute;inset:0;background:radial-gradient(46% 42% at 50% 66%,rgba(255,255,255,0.09),rgba(255,255,255,0.028) 44%,transparent 72%);pointer-events:none;z-index:0}
  .vs-device .vs-tabs,.vs-device .vs-stage{position:relative;z-index:1}
  .vs-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
  .vs-tab{display:flex;align-items:center;gap:7px;background:none;border:none;color:var(--faint);font:600 12.5px var(--g);padding:8px 14px;border-radius:20px;cursor:pointer;transition:.3s}
  .vs-tab .vs-ti{font-size:11px;opacity:.85}
  .vs-tab.vs-on{background:rgba(255,255,255,0.08);color:#fff;box-shadow:inset 0 0 0 1px var(--line)}
  .vs-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center}
  .vs-asset{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px) scale(.985);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);pointer-events:none;padding:4px}
  .vs-asset.vs-on{opacity:1;transform:none;pointer-events:auto}
  .vs-mk{width:100%;max-width:420px;background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0.008));border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.04)}
  .vs-thumb{width:44px;height:52px;border-radius:9px;object-fit:cover;border:1px solid var(--line);flex:none}
  .vs-mh{font:600 14px var(--g)}
  /* phone */
  .vs-phone{width:218px;height:452px;background:#1b1b1d;border-radius:38px;padding:9px;border:1px solid #2c2c30;box-shadow:0 40px 90px rgba(0,0,0,.6);margin:auto;position:relative}
  .vs-pscreen{background:#ffffff;border-radius:29px;height:100%;overflow:hidden;display:flex;flex-direction:column;position:relative}
  .vs-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:66px;height:19px;background:#1b1b1d;border-radius:14px;z-index:4}
  .vs-pstatus{display:flex;justify-content:space-between;align-items:center;padding:10px 18px 2px;font:600 11px var(--g);color:#111} .vs-pico{letter-spacing:1px;font-size:9px}
  .vs-phead{display:flex;flex-direction:column;align-items:center;padding:13px 0 7px;border-bottom:1px solid rgba(0,0,0,0.08)}
  .vs-pav{width:34px;height:34px;border-radius:50%;background:#f6c6d8;display:flex;align-items:center;justify-content:center;color:#111} .vs-pav svg{width:16px}
  .vs-pname{font:600 11px var(--g);color:#111;margin-top:4px}
  .vs-pthread{flex:1;padding:6px 11px;display:flex;flex-direction:column;gap:3px;overflow:hidden;justify-content:flex-start}
  .vs-pday{text-align:center;font:500 9.5px var(--g);color:rgba(0,0,0,0.4);margin:2px 0 3px}
  .vs-pphoto{width:54px;height:54px;object-fit:cover;border-radius:11px;align-self:flex-end}
  .vs-pbub{max-width:82%;padding:5px 10px;border-radius:14px;font:400 10px var(--g);line-height:1.3}
  .vs-pbub.vs-out{background:#0b84ff;color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
  .vs-pbub.vs-in{background:#e8e8ea;color:#111;align-self:flex-start;border-bottom-left-radius:5px}
  .vs-asset.vs-on .vs-pphoto,.vs-asset.vs-on .vs-pbub{animation:pop .45s both}
  .vs-asset.vs-on .vs-pphoto{animation-delay:.15s} .vs-asset.vs-on .vs-pbub:nth-of-type(2){animation-delay:.5s} .vs-asset.vs-on .vs-pbub:nth-of-type(3){animation-delay:1.15s} .vs-asset.vs-on .vs-pbub:nth-of-type(4){animation-delay:1.95s} .vs-asset.vs-on .vs-pbub:nth-of-type(5){animation-delay:2.55s}
  @keyframes pop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
  .vs-pinput{margin:8px 9px 10px;border:1px solid rgba(0,0,0,0.14);border-radius:15px;padding:7px 12px;font:400 11px var(--g);color:rgba(0,0,0,0.4)}
  /* trends */
  .vs-tr-head{display:flex;align-items:center;justify-content:space-between;font:500 11px var(--g);letter-spacing:0.06em;color:var(--faint);margin-bottom:4px}
  .vs-tr-row{display:grid;grid-template-columns:1fr 94px 54px;gap:16px;align-items:center;padding:15px 0;border-top:1px solid var(--line)} .vs-tr-row:first-of-type{border-top:none}
  .vs-tr-row .vs-tn{font:600 14.5px var(--g)}
  .vs-tr-s{width:94px;height:26px} .vs-tr-s path{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .vs-tp{font:600 13.5px var(--g);text-align:right} .vs-tp.vs-up{color:#42d69d} .vs-tp.vs-down{color:#e0697f}
  /* offers */
  .vs-of-head{display:flex;align-items:center;justify-content:space-between;font:600 14px var(--g);margin-bottom:6px} .vs-of-head span:last-child{font:500 11px var(--g);color:var(--faint)}
  .vs-of-row{padding:15px 0;border-top:1px solid var(--line)} .vs-of-row:first-of-type{border-top:none}
  .vs-of-top{display:flex;align-items:center;gap:11px;margin-bottom:11px}
  .vs-of-av{width:32px;height:32px;border-radius:50%;font:700 10px var(--g);color:#241b0a;display:flex;align-items:center;justify-content:center;flex:none}
  .vs-of-m{flex:1} .vs-of-m .vs-n{font:600 13.5px var(--g)} .vs-of-m .vs-s{font:400 11px var(--g);color:var(--faint);margin-top:1px}
  .vs-of-amt{font:700 16px var(--g)}
  .vs-of-btns{display:flex;gap:8px;padding-left:43px}
  .vs-of-b{font:600 12px var(--g);padding:7px 15px;border-radius:9px;cursor:pointer;border:none} .vs-of-b.vs-acc{background:var(--accent);color:#06231a} .vs-of-b.vs-out{background:rgba(255,255,255,0.04);border:1px solid var(--line);color:#fff}
  /* messaging */
  .vs-ms-ctx{display:flex;align-items:center;gap:11px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--line)} .vs-ms2{font:400 11px var(--g);color:var(--faint);margin-top:2px}
  .vs-ms-lab{font:600 9px var(--g);letter-spacing:0.06em;color:var(--faint);margin:12px 0 6px} .vs-ms-lab.vs-r{text-align:right}
  .vs-ms-bub{max-width:78%;padding:10px 14px;border-radius:15px;font:400 13px var(--g);line-height:1.4}
  .vs-ms-bub.vs-in{background:rgba(255,255,255,0.06);display:inline-block}
  .vs-ms-bub.vs-out{background:#0b84ff;color:#fff;margin-left:auto;width:fit-content}
  .vs-ms-input{margin-top:16px;border:1px solid var(--line);border-radius:20px;padding:10px 15px;font:400 12.5px var(--g);color:var(--faint)}
  @media(max-width:900px){
    /* Mobile: kill the 540vh scroll-jack and make it a normal PAIRED scroll, each capability's text
       is followed by its own asset in a device frame (the JS moves each asset into a .vs-mobframe
       under its step). You scroll from one capability to the next. No pinned device, no tab switcher. */
    .vs-steps{height:auto}
    .vs-sticky{position:static;height:auto;overflow:visible}
    .vs-wrap{grid-template-columns:1fr;height:auto;gap:0;padding:56px 26px}
    .vs-left{height:auto;padding:0}
    .vs-stepview{height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none;padding-left:0}
    .vs-stepview::before{display:none}
    .vs-track{position:relative;left:0;transform:none!important}
    .vs-sd{opacity:1;padding-bottom:48px}
    .vs-sd:last-child{padding-bottom:0}
    .vs-mobframe{position:relative;margin-top:20px;color:#f2f3f5;background:linear-gradient(180deg,#0c0d10,#08090b);border:1px solid rgba(255,255,255,0.07);border-radius:22px;padding:22px;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,0.4)}
    /* panels (trends/offers/messaging) inherit the frame's light text; the phone sets its own colors */
    .vs-mobframe .vs-mk,.vs-mobframe .vs-mk .vs-tn,.vs-mobframe .vs-mk .vs-mh,.vs-mobframe .vs-mk .vs-ms-ctx{color:#f2f3f5}
    /* animate the panel rows/bubbles in when the asset scrolls into view (the JS adds .vs-on + a
       staggered animation-delay per row). The phone already animates via its own .vs-pbub rules. */
    .vs-mobframe .vs-asset.vs-on .vs-tr-row,.vs-mobframe .vs-asset.vs-on .vs-of-row,.vs-mobframe .vs-asset.vs-on .vs-ms-bub{animation:pop .5s both}
    .vs-mobframe::before{content:"";position:absolute;inset:0;background:radial-gradient(46% 42% at 50% 60%,rgba(255,255,255,0.08),transparent 70%);pointer-events:none;z-index:0}
    .vs-mobframe .vs-asset{position:static;opacity:1;transform:none;pointer-events:auto;padding:0;width:100%;z-index:1;display:flex;align-items:center;justify-content:center}
  }

.vs-steps{background:#060607;position:relative;z-index:1;color:#f2f3f5}


/* ===== small-caps eyebrow (used by the Capabilities section) ===== */
.s-kick{font-family:var(--grotesk);font-size:12px;letter-spacing:0.26em;text-transform:uppercase;color:rgba(20,20,20,0.45);font-weight:600}

/* ===== Capabilities: white section holding the black device card (matches live site) ===== */
.vs-steps{background:#ffffff}
.vs-left{color:#141414}
.vs-cap-kick{margin-bottom:20px}
.vs-head{color:#141414}
.vs-stepview::before{background:rgba(0,0,0,0.12)}
.vs-left .vs-sd-num{color:rgba(0,0,0,0.42)}
.vs-left .vs-sd.vs-on .vs-sd-num{color:#0f9e78}
.vs-left .vs-sd-t{color:#141414}
.vs-left .vs-sd-d{color:rgba(0,0,0,0.55)}

/* ===== step mockups inside the .fr-visual black cards ===== */
.fv{position:absolute;inset:0;padding:clamp(20px,2.3vw,30px);display:flex;flex-direction:column;justify-content:center;gap:9px;font-family:var(--grotesk);color:#f3f4f5;font-size:13px}
.fv::before{content:"";position:absolute;inset:0;background:radial-gradient(72% 48% at 50% 0%,rgba(255,255,255,0.05),transparent 62%);pointer-events:none}
.fv>*{position:relative;z-index:1}
.fv-lab{font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:600;margin-bottom:3px}
.fv-bub{max-width:84%;padding:9px 13px;border-radius:14px;font-size:12.5px;line-height:1.35}
.fv-bub.in{background:#26262a;align-self:flex-start;border-bottom-left-radius:5px}
.fv-bub.out{background:#0f9e78;color:#06231a;align-self:flex-end;border-bottom-right-radius:5px;font-weight:500}
.fv-win{border:1px solid rgba(255,255,255,0.1);border-radius:12px;overflow:hidden;background:#0f0f12;flex:1;display:flex;flex-direction:column}
.fv-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03)}
.fv-dot{width:8px;height:8px;border-radius:50%;flex:none}
.fv-url{margin-left:6px;font-size:10px;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.06);border-radius:6px;padding:3px 10px;flex:1;white-space:nowrap;overflow:hidden}
.fv-store{flex:1;padding:14px;display:flex;flex-direction:column;gap:10px}
.fv-logo{font-family:var(--serif);font-size:16px;letter-spacing:0.01em}
.fv-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;flex:1}
.fv-ph{background:linear-gradient(135deg,#2c2c31,#161619);border-radius:7px;min-height:34px}
.fv-card{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:12px}
.fv-thumb{width:44px;height:52px;border-radius:8px;background:linear-gradient(135deg,#3a3a3f,#1c1c20);flex:none}
.fv-cn{font-weight:600;font-size:13.5px}
.fv-cs{font-size:11px;color:rgba(255,255,255,0.5);margin-top:2px}
.fv-pill{margin-left:auto;font-size:10.5px;font-weight:600;color:#42d69d;background:rgba(52,209,143,0.14);border:1px solid rgba(52,209,143,0.3);border-radius:20px;padding:4px 10px;white-space:nowrap}
.fv-ch{display:flex;align-items:center;gap:10px;padding:9px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px}
.fv-ci{width:22px;height:22px;border-radius:6px;background:#fff;color:#111;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.fv-cname{font-size:12.5px;font-weight:500}
.fv-live{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10.5px;color:#42d69d}
.fv-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#33d18f}
.fv-field{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:12px;padding:11px 13px}
.fv-field .u{flex:1;font-size:12.5px;color:#f2f3f5;white-space:nowrap;overflow:hidden}
.fv-btn{background:#0f9e78;color:#06231a;font-weight:600;font-size:12px;border-radius:9px;padding:8px 14px;flex:none}
.fv-pr{display:flex;align-items:center;gap:11px;font-size:12.5px;color:rgba(255,255,255,0.85);padding:5px 0}
.fv-tick{width:18px;height:18px;border-radius:50%;background:rgba(52,209,143,0.16);border:1px solid rgba(52,209,143,0.4);color:#42d69d;font-size:10px;display:flex;align-items:center;justify-content:center;flex:none}
.fv-set{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;margin-top:8px}
.fv-bigcheck{width:46px;height:46px;border-radius:50%;background:#0f9e78;color:#06231a;display:flex;align-items:center;justify-content:center;font-size:23px;box-shadow:0 10px 30px rgba(15,158,120,0.35)}
.fv-setl{font-size:14.5px;font-weight:600}
.fv-badge{position:absolute;right:22px;bottom:22px;z-index:2;background:#0f9e78;color:#06231a;font-weight:600;font-size:11px;padding:6px 12px;border-radius:20px;box-shadow:0 10px 26px rgba(0,0,0,0.5)}

/* ===== rich platform-style step mockups (match the homepage assets) ===== */
.mk{position:absolute;inset:0;padding:20px;display:flex;flex-direction:column;justify-content:center;font-family:var(--grotesk);color:#f2f3f5;font-size:12.5px;gap:11px;overflow:hidden}
.mk::before{content:"";position:absolute;inset:0;background:radial-gradient(72% 46% at 50% 0%,rgba(255,255,255,0.055),transparent 60%);pointer-events:none}
.mk>*{position:relative;z-index:1;min-height:0}
.mk-h{display:flex;align-items:center;justify-content:space-between;flex:none}
.mk-t{font-weight:600;font-size:13px} .mk-s{font-size:10px;color:rgba(255,255,255,0.42);margin-top:2px}
.mk-pill{font-size:9.5px;font-weight:600;color:#42d69d;background:rgba(52,209,143,0.14);border:1px solid rgba(52,209,143,0.3);border-radius:20px;padding:3px 9px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.mk-pill .d{width:5px;height:5px;border-radius:50%;background:#33d18f}
.mk-card{background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px}
/* chat */
.mk-chat{display:flex;flex-direction:column;gap:7px}
.mk-b{max-width:86%;padding:8px 12px;border-radius:13px;font-size:12px;line-height:1.35}
.mk-b.in{background:#242428;align-self:flex-start;border-bottom-left-radius:4px}
.mk-b.out{background:#0f9e78;color:#06231a;align-self:flex-end;border-bottom-right-radius:4px;font-weight:500}
.mk-prev{margin-top:auto;display:flex;align-items:center;gap:11px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:10px}
.mk-prev img{width:40px;height:48px;object-fit:cover;border-radius:8px;flex:none}
.mk-prev .n{font-weight:600;font-size:12.5px} 
/* browser + storefront */
.mk-win{flex:1;border:1px solid rgba(255,255,255,0.1);border-radius:12px;overflow:hidden;background:#0e0e11;display:flex;flex-direction:column;min-height:0}
.mk-bar{display:flex;align-items:center;gap:6px;padding:8px 11px;border-bottom:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);flex:none}
.mk-dot{width:7px;height:7px;border-radius:50%;flex:none}
.mk-url{margin-left:5px;font-size:9.5px;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.06);border-radius:5px;padding:3px 9px;flex:1;white-space:nowrap;overflow:hidden}
.mk-site{flex:1;padding:13px;display:flex;flex-direction:column;gap:11px;min-height:0}
.mk-nav{display:flex;align-items:baseline;justify-content:space-between}
.mk-logo{font-family:var(--serif);font-size:15px}
.mk-navl{font-size:9px;color:rgba(255,255,255,0.4);letter-spacing:.04em}
.mk-pgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;flex:1;min-height:0}
.mk-prod{display:flex;flex-direction:column;gap:5px;min-height:0}
.mk-prod .im{flex:1;border-radius:8px;overflow:hidden;background:#1a1a1e;min-height:0}
.mk-prod .im img{width:100%;height:100%;object-fit:cover;display:block}
.mk-pn{font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-pp{font-size:10px;color:rgba(255,255,255,0.5)}
/* rows / channels table */
.mk-rows{display:flex;flex-direction:column;gap:7px;flex:none;min-height:0}
.mk-row{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;padding:8px 11px}
.mk-tile{width:24px;height:24px;border-radius:6px;background:#fff;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center}
.mk-tile img{width:70%;height:70%;object-fit:contain} .mk-tile.g{background:linear-gradient(135deg,#2a2a2f,#151519);color:#f2f3f5;font-size:10px}
.mk-rn{font-size:12px;font-weight:500;flex:1;white-space:nowrap}
.mk-rv{font-size:10px;color:rgba(255,255,255,0.45)}
.mk-tg{width:30px;height:18px;border-radius:10px;background:#33d18f;position:relative;flex:none} .mk-tg i{position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:#fff}
.mk-tg.off{background:#33363c} .mk-tg.off i{right:auto;left:3px}
/* phone */
.mk-phone{width:190px;height:100%;max-height:100%;background:#1a1a1c;border-radius:32px;padding:7px;border:1px solid #2c2c30;margin:auto;box-shadow:0 30px 70px rgba(0,0,0,.55);display:flex}
.mk-scr{background:#0a0a0c;border-radius:26px;flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}
.mk-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:56px;height:16px;background:#1a1a1c;border-radius:12px;z-index:4}
.mk-pst{display:flex;justify-content:space-between;padding:9px 15px 3px;font-size:9.5px;font-weight:600}
.mk-phd{display:flex;flex-direction:column;align-items:center;padding:2px 0 6px;border-bottom:1px solid rgba(255,255,255,0.08)}
.mk-pav{width:30px;height:30px;border-radius:50%;background:#f6c6d8;display:flex;align-items:center;justify-content:center;color:#111;font-size:9px;font-weight:700}
.mk-pnm{font-size:9.5px;margin-top:3px;color:rgba(255,255,255,0.8)}
.mk-pth{flex:1;padding:8px 9px;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.mk-pph{width:58px;height:58px;object-fit:cover;border-radius:11px;align-self:flex-end}
.mk-pb{max-width:82%;padding:6px 10px;border-radius:13px;font-size:9.5px;line-height:1.3}
.mk-pb.out{background:#0b84ff;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.mk-pb.in{background:#262629;align-self:flex-start;border-bottom-left-radius:4px}
.mk-pin{margin:auto 8px 9px;border:1px solid rgba(255,255,255,0.15);border-radius:13px;padding:6px 11px;font-size:9.5px;color:rgba(255,255,255,0.4)}
/* field / detect / progress / import rows */
.mk-field{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:11px;padding:10px 12px}
.mk-field .u{flex:1;font-size:12px;white-space:nowrap;overflow:hidden}
.mk-btn{background:#0f9e78;color:#06231a;font-weight:600;font-size:11px;border-radius:8px;padding:7px 13px;flex:none}
.mk-detect{display:flex;align-items:center;gap:11px}
.mk-fav{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#3a3a3f,#1c1c20);flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:13px}
.mk-prog{height:6px;border-radius:6px;background:rgba(255,255,255,0.08);overflow:hidden;flex:none} .mk-prog i{display:block;height:100%;background:#33d18f;border-radius:6px}
.mk-irow{display:flex;align-items:center;gap:10px;font-size:11.5px}
.mk-ithumb{width:26px;height:30px;border-radius:6px;object-fit:cover;flex:none}
.mk-tick{width:16px;height:16px;border-radius:50%;background:rgba(52,209,143,0.16);border:1px solid rgba(52,209,143,0.4);color:#42d69d;font-size:9px;display:flex;align-items:center;justify-content:center;flex:none;margin-left:auto}
/* customers + payments */
.mk-av{width:24px;height:24px;border-radius:50%;font-size:8.5px;font-weight:700;color:#241b0a;display:flex;align-items:center;justify-content:center;flex:none}
.mk-crow{display:flex;align-items:center;gap:9px;padding:4px 0}
.mk-cn{font-size:11px;font-weight:500} .mk-ce{font-size:9px;color:rgba(255,255,255,0.4)}
.mk-pay{display:flex;align-items:center;gap:10px}
.mk-visa{width:38px;height:26px;border-radius:5px;background:linear-gradient(135deg,#1a1f3a,#2b3566);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:1px;flex:none}
.mk-done{display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(52,209,143,0.12);border:1px solid rgba(52,209,143,0.32);color:#42d69d;border-radius:11px;padding:10px;font-weight:600;font-size:12.5px;flex:none}

/* ===== animated step mockups (import / build pages) ===== */
/* continuous: progress bar shimmer */
.mk-prog i{position:relative;overflow:hidden}
.mk-prog i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.5),transparent);transform:translateX(-100%);animation:mkShim 1.7s ease-in-out infinite}
@keyframes mkShim{0%{transform:translateX(-100%)}70%,100%{transform:translateX(260%)}}
/* continuous: pulsing status dot, import button, you're-set glow */
@keyframes mkPulse{0%,100%{opacity:1}50%{opacity:.4}}
.mk-pill .d{animation:mkPulse 1.6s ease-in-out infinite}
.mk-btn{animation:mkBtn 2.6s ease-in-out infinite}
@keyframes mkBtn{0%,100%{box-shadow:0 0 0 0 rgba(15,158,120,0)}50%{box-shadow:0 0 0 4px rgba(15,158,120,0.16)}}
.mk-done{animation:mkGlow 2.4s ease-in-out infinite}
@keyframes mkGlow{0%,100%{box-shadow:0 0 0 0 rgba(52,209,143,0)}50%{box-shadow:0 0 18px 0 rgba(52,209,143,0.18)}}
/* reveal-triggered: rows stagger in + progress fills + fields rise */
@keyframes mkRow{from{opacity:0;transform:translateX(-9px)}to{opacity:1;transform:none}}
@keyframes mkUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes mkFill{from{width:0}}
.feat-row.in .mk-prog i{animation:mkFill 1.4s cubic-bezier(.4,0,.2,1) both}
.feat-row.in .mk-field{animation:mkUp .5s ease both;animation-delay:.1s}
.feat-row.in .mk-irow,.feat-row.in .mk-crow{animation:mkRow .5s ease both}
.feat-row.in .mk-irow:nth-child(1),.feat-row.in .mk-crow:nth-child(2){animation-delay:.28s}
.feat-row.in .mk-irow:nth-child(2),.feat-row.in .mk-crow:nth-child(3){animation-delay:.48s}
.feat-row.in .mk-irow:nth-child(3),.feat-row.in .mk-crow:nth-child(4){animation-delay:.68s}
.feat-row.in .mk-irow:nth-child(4){animation-delay:.88s}
@media (prefers-reduced-motion:reduce){.mk-prog i::after,.mk-pill .d,.mk-btn,.mk-done,.feat-row.in .mk-prog i,.feat-row.in .mk-field,.feat-row.in .mk-irow,.feat-row.in .mk-crow{animation:none}}

/* ---- Stores-on-VYA wall (Shopify-style storefront previews on dark) ---- */
.stores{background:#0b0b0d;color:#fff}
.stores-head{max-width:var(--max);margin:0 auto 42px;padding:0 40px}
.stores-head .eyebrow{color:rgba(255,255,255,0.42)}
.stores-head h2{margin-top:14px;font-weight:300;font-size:clamp(32px,4.8vw,66px);letter-spacing:-0.035em;line-height:1;max-width:15ch;color:#fff}
.stores-head p{margin-top:18px;font-size:clamp(16px,1.3vw,19px);line-height:1.5;color:rgba(255,255,255,0.52);max-width:52ch}
.sf-wall{max-width:var(--max);margin:0 auto;padding:0 40px;columns:3;column-gap:20px}
.sf-card{break-inside:avoid;margin-bottom:20px;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,0.42);text-decoration:none;color:inherit;transform:translateY(0);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
a.sf-card:hover{transform:translateY(-6px);box-shadow:0 34px 66px rgba(0,0,0,0.6)}
.sf-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;background:#fff;border-bottom:1px solid rgba(0,0,0,0.07)}
.sf-wm{font-family:var(--serif);font-weight:500;font-size:15px;letter-spacing:0.01em;color:#141414;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-menu{display:flex;gap:11px;flex:none}
.sf-menu span{font-size:8px;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;color:rgba(0,0,0,0.4);white-space:nowrap}
.sf-cart{flex:none;font-size:8px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:rgba(0,0,0,0.4)}
.sf-shot{position:relative;flex:1;min-height:0;overflow:hidden;background:#f2f0ee}
.sf-shot img{width:100%;height:100%;object-fit:cover;display:block}
.sf-tag{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:0.01em;color:#fff;background:rgba(10,10,10,0.58);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:20px;padding:5px 11px}
.sf-tag .d{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,0.22)}
.sf-card.dark .sf-bar{background:#111214;border-bottom-color:rgba(255,255,255,0.1)}
.sf-card.dark .sf-wm{color:#f5f5f5}
.sf-card.dark .sf-menu span,.sf-card.dark .sf-cart{color:rgba(255,255,255,0.5)}
.sf-card.beige .sf-bar{background:#efe7db}
.sf-card.cream .sf-bar{background:#f4efe6}
.reveal.in .sf-card{animation:sfUp .6s var(--ease) both}
.sf-wall .sf-card:nth-child(2){animation-delay:.06s}
.sf-wall .sf-card:nth-child(3){animation-delay:.12s}
.sf-wall .sf-card:nth-child(4){animation-delay:.18s}
.sf-wall .sf-card:nth-child(5){animation-delay:.24s}
.sf-wall .sf-card:nth-child(6){animation-delay:.30s}
@keyframes sfUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.sf-wall{columns:2}}
@media(max-width:560px){.sf-wall{columns:1}.stores-head{margin-bottom:28px}}
@media (prefers-reduced-motion:reduce){.reveal.in .sf-card{animation:none}}

/* ---- Import hero: Shopify-style wide headline (light) ---- */
.subhero-wide h1{max-width:24ch;font-size:clamp(44px,6.6vw,92px);line-height:0.98;letter-spacing:-0.035em;text-wrap:balance}
.subhero-wide .sub{max-width:52ch}

/* ---- build-page mockup polish: generated preview + hero ---- */
.mk-describe{justify-content:center;gap:14px}
/* Mobile: the build-from-scratch mockups are taller/wider than the 5/4 visual box, so overflow:hidden
   clipped them (chat into storefront, price onto the divider, etc.). Let every card grow to fit its
   content instead of cropping, and give the go-live table's product names room by dropping the
   cross-listed-to logo column (the least essential) so the titles are readable. */
@media (max-width:820px){
  .fr-visual{aspect-ratio:auto;min-height:0;padding:clamp(14px,4vw,22px);display:block}
  /* Un-collapse the step mockup on mobile, whether it's a direct .mk OR nested in a .fv wrapper
     (steps 1/2/4 use .fr-visual>.fv>.mk, which the direct-child rule alone missed → they vanished). */
  .fr-visual .mk{position:static;inset:auto;height:auto;max-height:none;width:100%}
  .fr-visual>.fv:has(.mk){position:static;inset:auto;height:auto;padding:0}
  .mk-lt-head,.mk-lt-row{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
  .mk-lt-head span:nth-child(3),.mk-lt-chips{display:none}
}
.mk-gen{border:1px solid rgba(255,255,255,0.09);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.015));flex:none;box-shadow:0 14px 30px rgba(0,0,0,0.34)}
.mk-gen-bar{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,0.07)}
.mk-gen-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px}
.mk-gcell{display:flex;flex-direction:column;gap:4px;min-width:0}
.mk-gcell img{width:100%;height:clamp(96px,15vw,140px);object-fit:cover;border-radius:7px;display:block;background:#1a1a1e}
.mk-hero{position:relative;border-radius:9px;overflow:hidden;height:78px;flex:none;background:#1a1a1e}
.mk-hero img{width:100%;height:100%;object-fit:cover;display:block;opacity:0.92}
.mk-hero span{position:absolute;left:11px;bottom:9px;font-family:var(--serif);font-size:13px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,0.6)}

/* ---- build-page: real storefront-builder preview (no products) ---- */
.mk-sf{flex:1;background:#faf8f5;color:#1a1a1a;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.mk-sf-ann{background:#111;color:#fff;font-size:8px;letter-spacing:0.16em;text-align:center;padding:6px 4px;font-weight:600;white-space:nowrap;overflow:hidden}
.mk-sf-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:18px}
.mk-sf-h{font-family:var(--serif);font-size:clamp(21px,3.3vw,34px);line-height:1;color:#161616;letter-spacing:-0.01em}
.mk-sf-sub{font-size:11px;color:#6f6f6f}
.mk-sf-btn{margin-top:5px;background:#111;color:#fff;font-size:8.5px;letter-spacing:0.16em;font-weight:600;padding:9px 17px;border-radius:22px}
.mk-draft{flex:none;border-radius:12px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,0.34)}
.mk-draft .mk-sf{min-height:150px}
.mk-draft .mk-sf-h{font-size:23px}
.mk-ph-ph{width:58px;height:58px;border-radius:11px;align-self:flex-end;background:linear-gradient(135deg,#3a3a40,#1b1b1f);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.38);font-size:17px}

/* ---- storefront wordmark nav (Haus Archive) ---- */
.mk-sf-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,0.08)}
.mk-sf-wm{font-family:var(--serif);font-size:15px;color:#161616;letter-spacing:0.01em;white-space:nowrap}
.mk-sf-navl{font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,0,0,0.42);font-weight:600;white-space:nowrap}
.mk-draft .mk-sf{min-height:178px}

/* ---- storefront: editorial hero + edit section (Haus Archive) ---- */
.mk-sf-eyebrow{font-size:8px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(0,0,0,0.42);font-weight:600}
.mk-sf-edit{border-top:1px solid rgba(0,0,0,0.09);padding:15px;text-align:center;background:#f3efe6;flex:none}
.mk-sf-edit .k{font-size:8px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(0,0,0,0.4);font-weight:600}
.mk-sf-edit .t{font-family:var(--serif);font-size:20px;color:#161616;margin-top:4px}
.mk-draft .mk-sf{min-height:198px}

/* ---- section 2 storefront: asymmetric editorial layout (distinct from step 1) ---- */
.mk-sf2-hero{flex:1;display:flex;min-height:0}
.mk-sf2-l{flex:1.2;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:22px}
.mk-sf2-l .mk-sf-h{text-align:left;font-size:clamp(20px,3vw,32px)}
.mk-sf2-l .mk-sf-sub{text-align:left}
.mk-sf2-l .mk-sf-btn{align-self:flex-start}
.mk-sf2-r{flex:1;position:relative;background:linear-gradient(155deg,#eae2d5,#d8cebc 70%,#cabfa9);display:flex;align-items:flex-end;padding:13px;overflow:hidden}
.mk-sf2-r::before{content:"";position:absolute;top:-30%;right:-20%;width:80%;height:80%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,0.35),transparent)}
.mk-sf2-r span{position:relative;font-family:var(--serif);font-size:12px;color:rgba(0,0,0,0.45);letter-spacing:0.01em}
.mk-sf-marq{border-top:1px solid rgba(0,0,0,0.09);background:#f3efe6;text-align:center;padding:9px 6px;font-size:8px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(0,0,0,0.46);font-weight:600;flex:none;white-space:nowrap;overflow:hidden}

/* section 2: compact hero + editorial band (fuller homepage, same vibe) */
.mk-sf-hero.compact{flex:none;padding:18px 18px 13px}
.mk-sf-hero.compact .mk-sf-h{font-size:clamp(19px,2.7vw,27px)}
.mk-sf-editorial{flex:1;min-height:0;position:relative;overflow:hidden;background:linear-gradient(155deg,#eae2d5,#dacfbd 70%,#cbc0aa);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:16px}
.mk-sf-editorial::before{content:"";position:absolute;top:-34%;right:-16%;width:70%;height:78%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,0.4),transparent)}
.mk-sf-editorial .k{position:relative;font-size:8px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(0,0,0,0.46);font-weight:600}
.mk-sf-editorial .t{position:relative;font-family:var(--serif);font-size:23px;color:#1a1a1a}

/* ---- step 3: "Detected from your photo" card ---- */
.mk-detcard{width:100%;max-width:470px;margin:auto;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:clamp(15px,1.7vw,21px);display:flex;flex-direction:column;box-shadow:0 24px 50px rgba(0,0,0,0.4)}
.mk-det-top{display:flex;align-items:center;gap:13px;padding-bottom:14px}
.mk-det-thumb{width:52px;height:52px;border-radius:11px;flex:none;background:linear-gradient(135deg,#3a3a40,#1b1b1f);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);font-size:18px;overflow:hidden}
.mk-det-thumb img{width:100%;height:100%;object-fit:cover}
.mk-det-title{font-size:15px;font-weight:600;color:#f4f4f5}
.mk-det-sub{font-size:11.5px;color:rgba(255,255,255,0.45);margin-top:2px}
.mk-det-rows{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,0.08)}
.mk-det-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid rgba(255,255,255,0.06)}
.mk-det-check{width:22px;height:22px;border-radius:50%;border:1.5px solid #3ecf8e;color:#3ecf8e;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}
.mk-det-k{font-size:14px;color:rgba(255,255,255,0.82);font-weight:500}
.mk-det-k i{color:rgba(255,255,255,0.3);margin-left:5px;font-style:normal}
.mk-det-v{margin-left:auto;font-size:14px;color:#f5f5f6;font-weight:500}
.mk-det-price{display:flex;align-items:baseline;justify-content:space-between;padding:15px 2px 15px}
.mk-det-pl{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:600}
.mk-det-pv{font-size:clamp(23px,2.5vw,31px);font-weight:700;color:#fff;letter-spacing:-0.01em}
.mk-det-live{align-self:flex-start;background:#7ee0a8;color:#08381f;font-size:13px;font-weight:600;padding:11px 20px;border-radius:24px}
/* entrance animation */
.feat-row.in .mk-det-row{animation:detRow .5s var(--ease) both}
.feat-row.in .mk-det-row:nth-child(1){animation-delay:.15s}
.feat-row.in .mk-det-row:nth-child(2){animation-delay:.34s}
.feat-row.in .mk-det-row:nth-child(3){animation-delay:.53s}
@keyframes detRow{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.feat-row.in .mk-det-check{animation:detPop .42s var(--ease) both}
.feat-row.in .mk-det-row:nth-child(1) .mk-det-check{animation-delay:.32s}
.feat-row.in .mk-det-row:nth-child(2) .mk-det-check{animation-delay:.51s}
.feat-row.in .mk-det-row:nth-child(3) .mk-det-check{animation-delay:.70s}
@keyframes detPop{0%{transform:scale(0.3);opacity:0}60%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}
.feat-row.in .mk-det-price{animation:detRow .5s var(--ease) both;animation-delay:.82s}
.feat-row.in .mk-det-live{animation:detLive .6s var(--ease) both;animation-delay:1.02s}
@keyframes detLive{0%{opacity:0;transform:translateY(9px) scale(.96)}60%{transform:translateY(0) scale(1.04)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.feat-row.in .mk-det-row,.feat-row.in .mk-det-check,.feat-row.in .mk-det-price,.feat-row.in .mk-det-live{animation:none}}

/* ---- step 4: recently-listed / cross-listed table ---- */
.mk-ltable{width:100%;display:flex;flex-direction:column}
.mk-lt-head,.mk-lt-row{display:grid;grid-template-columns:minmax(0,1fr) 58px 104px 84px;align-items:center;gap:14px}
.mk-lt-head{padding:0 2px 10px;border-bottom:1px solid rgba(255,255,255,0.11)}
.mk-lt-head span{font-size:8.5px;letter-spacing:0.13em;text-transform:uppercase;color:rgba(255,255,255,0.38);font-weight:600}
.mk-lt-head span:nth-child(2),.mk-lt-head span:nth-child(4){text-align:right}
.mk-lt-row{padding:10px 2px;border-bottom:1px solid rgba(255,255,255,0.06)}
.mk-lt-name{font-size:12.5px;font-weight:500;color:#f2f3f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-lt-ago{font-size:9.5px;color:rgba(255,255,255,0.4);margin-top:2px}
.mk-lt-price{font-size:12.5px;color:#f2f3f5;font-weight:500;text-align:right}
.mk-lt-chips{display:flex;gap:4px}
.mk-lt-chip{width:20px;height:20px;border-radius:5px;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;background:#141518}
.mk-lt-chip img{width:100%;height:100%;object-fit:cover}
.mk-lt-chip.store{background:linear-gradient(135deg,#2b2b31,#151519);color:#e8e8e8;font-size:10px}
.mk-lt-status{justify-self:end;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;padding:4px 9px;border-radius:20px;white-space:nowrap}
.mk-lt-status.live{color:#5fdca0;background:rgba(52,209,143,0.12);border:1px solid rgba(52,209,143,0.28)}
.mk-lt-status.live::before{content:"";width:5px;height:5px;border-radius:50%;background:#34d18f;flex:none}
.mk-lt-status.sold{color:rgba(255,255,255,0.55);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12)}
.mk-lt-status.sold::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.4);flex:none}
.mk-lt-status.draft{color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1)}
.feat-row.in .mk-ltable>.mk-lt-row{animation:ltRow .5s var(--ease) both}
.feat-row.in .mk-ltable>.mk-lt-row:nth-child(2){animation-delay:.09s}
.feat-row.in .mk-ltable>.mk-lt-row:nth-child(3){animation-delay:.19s}
.feat-row.in .mk-ltable>.mk-lt-row:nth-child(4){animation-delay:.29s}
.feat-row.in .mk-ltable>.mk-lt-row:nth-child(5){animation-delay:.39s}
.feat-row.in .mk-ltable>.mk-lt-row:nth-child(6){animation-delay:.49s}
@keyframes ltRow{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.feat-row.in .mk-ltable>.mk-lt-row{animation:none}}

/* ---- capabilities "Text to list": cross-post icons w/ checks ---- */
.vs-post{position:absolute;top:50%;left:50%;transform:translate(-212px,-22px);display:flex;flex-direction:column;gap:16px;z-index:3;pointer-events:none}
.vs-post-i{position:relative;width:52px;height:52px;border-radius:14px;background:#fff;box-shadow:0 14px 32px rgba(0,0,0,0.45);opacity:0}
.vs-post-i img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.vs-post-ck{position:absolute;right:-6px;bottom:-6px;width:21px;height:21px;border-radius:50%;background:#34c759;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2.5px solid #0b0b0d}
.vs-asset.vs-on .vs-post-i{animation:vsPostPop .5s var(--ease) both}
.vs-asset.vs-on .vs-post-i:nth-child(1){animation-delay:2.9s}
.vs-asset.vs-on .vs-post-i:nth-child(2){animation-delay:3.08s}
@keyframes vsPostPop{0%{opacity:0;transform:scale(.5)}62%{opacity:1;transform:scale(1.14)}100%{opacity:1;transform:scale(1)}}
@media(max-width:560px){.vs-post{transform:translate(-150px,-18px)}.vs-post-i{width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.vs-asset.vs-on .vs-post-i{animation:none;opacity:1}}

/* ---- iPhone status bar + frame polish (capabilities phone) ---- */
.vs-pstatus{padding:14px 12px 4px !important}
.vs-ptime{font-weight:600;font-size:12px;letter-spacing:0.02em}
.vs-psys{display:flex;align-items:center;gap:3px}
.vs-psys svg{display:block}
.vs-phone{border-radius:46px !important;padding:8px !important;background:linear-gradient(150deg,#2a2a2e,#101013) !important;border:1px solid #3a3a40 !important;box-shadow:0 40px 90px rgba(0,0,0,.6) !important}
.vs-pscreen{border-radius:33px !important}
.vs-notch{width:42px !important;height:19px !important;top:9px !important;border-radius:11px !important;background:#000 !important}


/* header back chevron (match iOS Messages template) */
.vs-phead{position:relative}
.vs-pback{position:absolute;left:13px;top:14px;font-size:20px;line-height:1;color:#111;font-weight:400}

/* ---- payments & shipping page mockup ---- */
.ps-card{background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.012));border:1px solid rgba(255,255,255,0.09);border-radius:14px;padding:15px;box-shadow:0 16px 34px rgba(0,0,0,0.32)}
.ps-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ps-t{font-size:12.5px;font-weight:600;color:#f2f3f5}
.ps-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;padding:1px 0}
.ps-k{color:rgba(255,255,255,0.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-v{color:#fff;font-weight:600;flex:none}
.ps-pay{display:flex;align-items:center;gap:11px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.07)}
.ps-pi{flex:1;min-width:0}
.ps-pn{font-size:12px;font-weight:500;color:#f2f3f5}
.ps-ps{font-size:10px;color:rgba(255,255,255,0.42);margin-top:1px}
.ps-track{flex:none;font-size:10.5px;font-weight:600;color:#42d69d;background:rgba(52,209,143,0.13);border:1px solid rgba(52,209,143,0.28);border-radius:20px;padding:3px 11px}
.ps-prog{display:flex;align-items:center;gap:7px;margin-top:13px}
.ps-step{font-size:9.5px;font-weight:500;color:rgba(255,255,255,0.4);white-space:nowrap;flex:none}
.ps-step.done{color:#42d69d}
.ps-line{flex:1;height:2px;border-radius:2px;background:rgba(255,255,255,0.12)}
.ps-line.done{background:#34d18f;transform-origin:left}
.feat-row.in .ps-card{animation:detRow .55s var(--ease) both}
.feat-row.in .ps-card:nth-child(1){animation-delay:.1s}
.feat-row.in .ps-card:nth-child(2){animation-delay:.42s}
.feat-row.in .ps-card .mk-pill{animation:detPop .5s var(--ease) both}
.feat-row.in .ps-card:nth-child(1) .mk-pill{animation-delay:.55s}
.feat-row.in .ps-card:nth-child(2) .mk-pill{animation-delay:.9s}
.feat-row.in .ps-pay .mk-tick{animation:detPop .5s var(--ease) both;animation-delay:.85s}
.feat-row.in .ps-step.done{animation:psStepOn .4s var(--ease) both}
.feat-row.in .ps-prog .ps-step.done:nth-of-type(1){animation-delay:1.15s}
.feat-row.in .ps-prog .ps-step.done:nth-of-type(3){animation-delay:2.05s}
.feat-row.in .ps-line.done{animation:psFill .9s var(--ease) both;animation-delay:1.3s}
@keyframes psStepOn{from{color:rgba(255,255,255,0.4)}to{color:#42d69d}}
@keyframes psFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.feat-row.in .ps-card,.feat-row.in .ps-card .mk-pill,.feat-row.in .ps-pay .mk-tick,.feat-row.in .ps-step.done,.feat-row.in .ps-line.done{animation:none}}
