/* A human world behind the idea; the product stays sharp and usable. */
.opening-frame{background:#33251e;isolation:isolate;overflow:clip;color:#fffaf4}
.hero-film{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#49352b}
.hero-film-layer{position:absolute;inset:0;opacity:0;transition:opacity 1.25s ease;background-size:cover;background-position:center;filter:sepia(.23) saturate(.7)}
.hero-film-layer.is-current{opacity:1}
.hero-film video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-film::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,21,17,.88) 0%,rgba(38,24,17,.76) 38%,rgba(62,35,21,.3) 74%,rgba(29,20,15,.38));pointer-events:none}
.nav{color:var(--ink);background:#fffaf4}.hero h1{color:#fffaf4}.hero .lead{color:#f2e4d8}
.hero .prompt-box{color:var(--ink);background:#fffaf5;border-color:transparent;box-shadow:0 18px 60px #160c0c26}.hero .prompt-box label{color:#7a5b49}
.hero .example-choices{color:#efdfd1}.hero .example-choices button{color:#fff6ef;background:#ffffff1f}.hero .example-choices button[aria-pressed=true]{background:#f7e4d9;color:#78371e}
.hero .build-path>div{color:#ead9cc}.hero .build-path>div.working,.hero .build-path>div.done{color:#fff2e7}.hero .build-path>i{background:#ffffff40}.hero .hero-action p{color:#f4e4d7}.hero .demo-note{color:#dac8bb}
.hero .scene-light{display:none}.hero .scene-caption{color:#fff3e9}.hero .live-mark{color:#e2cdbb;border-color:#ffffff40}.hero .caption-dot{background:#f2ac75}
.hero .ready-card{color:#fff4e9}.hero .ready-card>div>span{color:#e2ccba}.hero .ready-card button{color:#713b22;background:#fff3e7}.hero .phone{box-shadow:22px 35px 65px #1d0d0847,0 4px 12px #1c110e35,inset 0 0 0 1px #d6cec5;color:var(--ink);transition:none;backface-visibility:hidden}
.hero .store-scene{perspective:1300px}.hero-scroll-cue{color:#fff7ec;background:#ffffff0c;border-color:#fff4}.hero-scroll-cue:hover{background:#ffffff23!important;border-color:#fff8!important}
.hero-film-controls{position:absolute;bottom:20px;right:34px;display:flex;align-items:center;gap:18px;z-index:5;color:#efddd0;font-size:9px}.hero-film-controls>a{opacity:.65}.hero-film-controls>a:hover{opacity:1}.hero-film-controls button{background:#ffffff17;color:#fff5ec;border:1px solid #ffffff29;padding:9px 13px;border-radius:30px;font-size:10px;display:flex;align-items:center;gap:12px}
.phone-ghost-stage{position:absolute!important;inset:0!important;margin:0!important;height:100%!important;z-index:2;pointer-events:none;isolation:auto!important}.phone-ghost-stage .phone-loading{display:none!important}.phone-ghost-stage .reveal-brand,.phone-ghost-stage .reveal-store,.phone-ghost-stage .reveal-products{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:800px){.hero-film::after{background:linear-gradient(180deg,#211711d9 0%,#291c16c9 38%,#3a271d73 72%,#241912a6 100%)}.hero-film-layer{background-position:48% center}.hero-film video{object-position:48% center}.hero-film-controls{right:18px;bottom:21px;gap:10px}.hero-film-controls>a{font-size:8px}.hero-film-controls button{font-size:9px;padding:8px 10px}.hero-scroll-cue{left:24px;transform:none}.hero .hero-action p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hero-film-layer{transition:none}.hero .phone{transition:none}}


/* Keep the footage framed to the viewing window rather than the tall mobile hero. */
.hero-film{overflow:clip;background:#2d2925}
.hero-film-layer{filter:saturate(1.08);background:none}
.hero-film-plate{position:sticky;top:0;width:100%;height:100svh;min-height:600px;background-size:cover;background-position:center}
.hero-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.hero-film video.is-playing{opacity:1}
.hero-film::after{background:linear-gradient(90deg,#181613c9 0%,#201810b0 35%,#24171038 72%,#16120e40)}
.hero-scroll-cue{width:48px;height:56px;border:0!important;border-radius:0;background:transparent!important;color:white}
.hero-scroll-cue:hover{background:transparent!important;border-color:transparent!important}
.hero-scroll-cue svg.soft-scroll-arrow{width:42px;height:50px;fill:none;stroke:white;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;animation:none;overflow:visible;filter:drop-shadow(0 2px 4px #0003)}
.joining-orbs{fill:white;stroke:none;animation:orbs-resolve 8s ease-in-out infinite}
.orb-a{animation:orb-join-a 8s ease-in-out infinite}.orb-b{animation:orb-join-b 8s ease-in-out infinite}
.soft-arrow-body{animation:arrow-rest 8s ease-in-out infinite}
.soft-arrow-stem{stroke-dasharray:21;animation:stem-form 8s ease-in-out infinite}
.soft-arrow-tip{stroke-dasharray:26;animation:tip-form 8s ease-in-out infinite}
.hero-scroll-cue:focus-visible{outline:2px solid white;outline-offset:4px;border-radius:12px}
@keyframes orb-join-a{0%,3%{transform:translateX(0)}10%,100%{transform:translateX(8px)}}
@keyframes orb-join-b{0%,3%{transform:translateX(0)}10%,100%{transform:translateX(-8px)}}
@keyframes orbs-resolve{0%,10%{opacity:1}17%,94%{opacity:0}100%{opacity:1}}
@keyframes stem-form{0%,10%{stroke-dashoffset:21}22%,100%{stroke-dashoffset:0}}
@keyframes tip-form{0%,15%{stroke-dashoffset:26}25%,100%{stroke-dashoffset:0}}
@keyframes arrow-rest{0%,9%{opacity:0;transform:translateY(0)}17%,26%{opacity:1;transform:translateY(0)}33%{opacity:1;transform:translateY(5px)}41%,90%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}
@media(max-width:800px){.hero-film-plate{min-height:0;height:100svh;background-position:48% center}.hero-film video{object-position:48% center}.hero-film::after{background:linear-gradient(90deg,#201610a3,#291b126b 60%,#24191273)}.hero-film-layer[data-film-key=style] video{object-position:43% center}.hero-film-layer[data-film-key=style] .hero-film-plate{background-position:43% center}}
@media(prefers-reduced-motion:reduce){.joining-orbs{display:none}.soft-arrow-body,.soft-arrow-stem,.soft-arrow-tip,.orb-a,.orb-b{animation:none!important;stroke-dashoffset:0;opacity:1;transform:none}.hero-film video{transition:none}}
