/* lookwhatisee.xyz homepage (design-home: A "Noir" hero + B "Memory Card" demo). No scripts, no inline styles (static CSP). */
:root{--bg:#0a0a0b;--surface:#141416;--line:#24242a;--text:#f2f2f0;--muted:#8e8e95;--laser:#e03131;--ok:#3ecf8e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.kicker{font:12px/1 "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--laser)}
h2{font-size:clamp(32px,4.4vw,52px);letter-spacing:-.035em;line-height:1.04;margin:.8rem 0 0}

/* nav */
.top{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:-.3px}
.brand svg{width:30px;height:30px}
.links{display:flex;align-items:center;gap:1.5rem;font-size:14px}
.links a{color:var(--muted);text-decoration:none}.links a:hover{color:var(--text)}
.links .pill{padding:.45rem .95rem;border:1px solid var(--line);border-radius:999px;color:var(--text)}
.links .pill:hover{border-color:#3a3a40}

/* hero (A) */
.hero{position:relative;min-height:min(calc(100vh - 84px),56rem);min-height:min(calc(100svh - 84px),56rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem 5rem;overflow:hidden}
.glow{position:absolute;width:60rem;height:60rem;border-radius:50%;background:radial-gradient(closest-side,rgba(224,49,49,.15),rgba(224,49,49,0));top:50%;left:50%;transform:translate(-50%,-58%);pointer-events:none}
.mark{position:relative;width:clamp(110px,16vw,176px);height:auto;margin-bottom:2rem;overflow:visible}
.mark path{stroke-dasharray:330;stroke-dashoffset:330;animation:draw 1.6s cubic-bezier(.6,.1,.2,1) .2s forwards}
.mark circle{opacity:0;transform-origin:64px 66px;transform:scale(.2);animation:pop .45s cubic-bezier(.2,1.6,.4,1) 1.55s forwards}
.hero h1{position:relative;font-size:clamp(60px,11vw,136px);line-height:.94;letter-spacing:-.045em;font-weight:800;margin:0}
.hero h1 span{color:var(--laser)}
.promise{position:relative;max-width:34rem;margin:1.8rem auto 0;font-size:clamp(17px,2vw,20px);color:#c9c9cc}
.cta{position:relative;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s,background .15s,border-color .15s}
.btn.primary{background:var(--laser);color:#fff;box-shadow:0 10px 40px -10px rgba(224,49,49,.7)}
.btn.primary:hover{transform:translateY(-1px);background:#ea3b3b}
.btn.ghost{border:1px solid var(--line)}
.btn.ghost:hover{border-color:#3a3a40}
.pledge{position:relative;display:flex;gap:.6rem 1.6rem;justify-content:center;flex-wrap:wrap;margin-top:3rem;font:12px/1 "JetBrains Mono",ui-monospace,Menlo,monospace;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.pledge span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--laser);margin-right:.55rem;vertical-align:middle}

/* demo (B) */
.see{padding:3rem 0 6rem}
.see .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
.intro p{color:#c7c7ca;font-size:18px;max-width:30rem;margin:1.4rem 0 0}
.stage{position:relative;height:560px}
.phone{position:absolute;left:0;top:0;width:270px;height:550px;border-radius:44px;background:#000;border:1px solid #2c2c31;padding:12px;box-shadow:0 50px 100px -30px rgba(0,0,0,.9),inset 0 0 0 2px #151517}
.screen{position:relative;width:100%;height:100%;border-radius:34px;overflow:hidden;background:linear-gradient(160deg,#2a2622,#171514 60%)}
.shelf{position:absolute;left:0;right:0;top:300px;height:10px;background:#3a332c;box-shadow:0 6px 12px rgba(0,0,0,.5)}
.screw{position:absolute;width:26px;height:74px;border-radius:6px 6px 3px 3px;background:repeating-linear-gradient(180deg,#9aa0a6 0 5px,#6b7075 5px 8px)}
.screw::before{content:"";position:absolute;top:-10px;left:-7px;width:40px;height:14px;border-radius:6px;background:#b8bdc2}
.s1{left:78px;top:226px}.s2{left:130px;top:236px;height:64px;filter:brightness(1.1)}.s3{left:180px;top:220px;height:80px;filter:brightness(.9)}
.circle{position:absolute;left:52px;top:180px;width:110px;height:150px;overflow:visible}
.circle path{fill:none;stroke:var(--laser);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(224,49,49,.7))}
.note{position:absolute;left:150px;top:148px;background:#fff;color:#111;font-weight:600;font-size:13px;border-radius:12px 12px 12px 4px;padding:.4rem .7rem;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.sheet{position:absolute;inset:auto 0 0 0;padding:14px;background:rgba(10,10,11,.94);border-top:1px solid #2a2a2e}
.to{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:.3rem .6rem;border-radius:999px;background:#1d1d21;border:1px solid #2c2c31}
.chip.on{background:rgba(224,49,49,.15);border-color:rgba(224,49,49,.5);color:#ffb3b3}
.send{margin-top:10px;text-align:center;background:var(--laser);border-radius:12px;padding:.55rem;font-weight:700;font-size:14px}
.rcpts{position:absolute;right:0;top:50px;display:grid;gap:14px;width:250px}
.rc{display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.8rem .9rem}
.av{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px}
.av.a{background:#3b2a52}.av.b{background:#1f3d3a}.av.c{background:#402424;color:#ff9b9b}.av.d{background:#2c2c1c}
.rc div{min-width:0}.rc strong{display:block;font-size:14px}.rc span{font-size:12px;color:var(--muted)}
.rc .tick{margin-left:auto;color:var(--ok);font-weight:700;font-size:14px}

/* the demo plays when it scrolls into view (scroll-driven animations); elsewhere it is shown as-is */
@supports (animation-timeline:view()){
  .stage{view-timeline:--demo block}
  .circle path{stroke-dasharray:500;stroke-dashoffset:500;animation:draw linear both;animation-timeline:--demo;animation-range:entry 30% cover 38%}
  .note{opacity:0;animation:fade linear both;animation-timeline:--demo;animation-range:cover 36% cover 42%}
  .rc{opacity:0;transform:translateX(-14px);animation:slide linear both;animation-timeline:--demo}
  .rc:nth-child(1){animation-range:cover 40% cover 46%}.rc:nth-child(2){animation-range:cover 43% cover 49%}
  .rc:nth-child(3){animation-range:cover 46% cover 52%}.rc:nth-child(4){animation-range:cover 49% cover 55%}
}

/* privacy (B) */
.band{padding:5rem 0;border-top:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem}
.stat{border-top:2px solid var(--laser);padding-top:1.1rem}
.stat b{display:block;font-size:clamp(36px,4vw,54px);letter-spacing:-.03em;line-height:1}
.stat span{display:block;color:var(--muted);margin-top:.7rem;font-size:15px;max-width:20rem}

/* get */
.final{margin-top:1rem;border-radius:28px;padding:3rem;background:radial-gradient(120% 140% at 0% 0%,#3a1111 0%,#1a0909 45%,#111 100%);border:1px solid #3a1c1c;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.final h2{margin:0;font-size:clamp(30px,3.6vw,44px)}
.final p{color:#d3cfcf;margin:.8rem 0 0;max-width:30rem}
.get{display:grid;gap:.8rem;justify-items:start}
.get pre{margin:0;background:rgba(0,0,0,.45);border:1px solid #3a1c1c;border-radius:12px;padding:.8rem 1rem;font:13px/1.5 "JetBrains Mono",ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-all;max-width:26rem}
.more{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:center;margin:1.8rem 0 4rem;font-size:14px}
.more a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.more a:hover{color:var(--text);border-color:var(--laser)}

footer{border-top:1px solid var(--line);padding:2rem 0 3rem;color:var(--muted);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
footer a{color:var(--muted);text-decoration:none;margin-left:1.2rem}footer a:hover{color:var(--text)}

@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{opacity:1;transform:scale(1)}}
@keyframes fade{to{opacity:1}}
@keyframes slide{to{opacity:1;transform:none}}

@media (max-width:62rem){.see .wrap{grid-template-columns:1fr}.stage{max-width:34rem;width:100%;margin:0 auto}.final{grid-template-columns:1fr}}
@media (max-width:40rem){
  .links a:not(.pill){display:none}
  .stage{height:auto}.phone{position:relative;margin:0 auto}.rcpts{position:relative;top:auto;width:100%;margin-top:1.5rem}
  .stats{grid-template-columns:1fr}.final{padding:2rem 1.4rem}footer a{margin:0 1.2rem 0 0}
}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important}.mark path,.circle path{stroke-dashoffset:0}.mark circle,.note,.rc{opacity:1;transform:none}}
