/* Screenshot.fm's page. Colour, type and components come from opgate's
   design system (ds/); this file is the page's own layout and the drawn
   product pictures. */
body{margin:0}
a{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}

.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--panel) 86%,transparent);
  backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border)}
.nav .wrap{display:flex;align-items:center;gap:12px;height:56px}
.nav .name{display:flex;align-items:center;gap:9px;font:700 16px var(--display);color:var(--t1);text-decoration:none}
.nav .name img{width:26px;height:26px;border-radius:6px}
.nav .links{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav .links a:not(.btn){font-size:14px;color:var(--t2);text-decoration:none;padding:7px 10px;border-radius:var(--r-2)}
.nav .links a:not(.btn):hover{color:var(--t1)}
@media(max-width:640px){.nav .links a:not(.btn){display:none}}

/* hero: the app, its line, the keys you already press */
.hero{text-align:center;padding:84px 0 40px}
.hero .appicon{width:112px;height:112px;border-radius:25px;box-shadow:0 18px 36px -12px rgba(35,40,70,.35);display:block;margin:0 auto 30px}
.hero h1{font:800 clamp(2rem,4.4vw,3.6rem)/1.08 var(--display);letter-spacing:-.03em;color:var(--t1);margin:0 auto 20px;max-width:none;text-wrap:balance}
.hero h1 span{display:block}
@media(min-width:900px){.hero h1 span{white-space:nowrap}}
.hero p.line{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--t2);max-width:46ch;margin:0 auto 28px}
.keys{display:inline-flex;align-items:center;gap:8px;margin:0 0 32px}
.key{display:inline-grid;place-items:center;min-width:48px;height:48px;padding:0 12px;border-radius:9px;
  background:var(--panel);border:1px solid var(--border-strong);box-shadow:0 2px 0 var(--border-strong),var(--shadow-1);
  font:600 20px var(--body);color:var(--t1)}
.key.sm{min-width:34px;height:32px;font-size:14px;border-radius:7px;padding:0 9px}
.keys .then{font:500 13px var(--mono);color:var(--t3);margin:0 6px}
.hero .ctas{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.hero .small{font-size:13px;color:var(--t3);margin-top:14px}

/* the product scene: a desktop with the note panel, the corner stack and a reply */
.stage{margin:48px auto 0;max-width:1000px;border-radius:14px;overflow:hidden;border:1px solid var(--border-strong);
  box-shadow:0 30px 60px -24px rgba(35,40,70,.45)}
.stage .menubar{height:26px;background:color-mix(in srgb,var(--panel) 80%,transparent);display:flex;align-items:center;gap:14px;padding:0 14px;
  font:600 12px var(--body);color:var(--t1);border-bottom:1px solid var(--border)}
.stage .menubar .mbicon{margin-left:auto;width:16px;height:16px;border-radius:4px}
.stage .desk{position:relative;height:520px;background:linear-gradient(160deg,#c9d3ee 0%,#e8ddf6 55%,#f3e4dc 100%)}
[data-theme="dark"] .stage .desk{background:linear-gradient(160deg,#1c2238 0%,#2a2140 55%,#2c2224 100%)}
.win{position:absolute;background:var(--panel);border-radius:10px;border:1px solid var(--border);box-shadow:var(--shadow-3);overflow:hidden}
.win .tl{display:flex;gap:6px;padding:9px 11px;border-bottom:1px solid var(--border)}
.win .tl i{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}
.site{padding:14px 16px;position:relative;height:calc(100% - 29px)}
.site .bar1{height:9px;width:40%;background:var(--panel-inset);border-radius:3px}
.site .h{height:16px;width:62%;background:color-mix(in srgb,var(--t3) 30%,transparent);border-radius:4px;margin:18px 0 10px}
.site .l{height:8px;background:var(--panel-inset);border-radius:3px;margin:8px 0}
.site .save{position:absolute;right:24px;bottom:30px;width:74px;height:22px;border-radius:5px;background:var(--accent)}
.site .ft{position:absolute;left:0;right:0;bottom:0;height:40px;background:#262a37}
.notepanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(430px,86%);padding:14px;border-radius:12px}
.notepanel .img{height:150px;border-radius:7px;border:1px solid var(--border);overflow:hidden;position:relative}
.notepanel .img .site{height:100%}
.notepanel .memo{margin-top:10px;padding:9px 11px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);font-size:14px;color:var(--t1);text-align:left}
.caret{display:inline-block;width:2px;height:16px;background:var(--accent);vertical-align:-3px;margin-left:1px}
.notepanel .hint{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:12px;color:var(--t3)}
.thumbs{position:absolute;right:18px;bottom:18px;display:grid;gap:8px}
.thumb{width:150px;height:94px;border-radius:6px;border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow-3);overflow:hidden;position:relative;background:var(--panel)}
.thumb .site{height:100%;padding:8px 9px}
.thumb .site .h{margin:8px 0 6px}
.thumb .site .save{right:10px;bottom:16px;width:34px;height:10px}
.thumb .site .ft{height:14px}
.thumb .cp{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.9);
  display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.thumb .cp svg{width:11px;height:11px;stroke:#1a1d2b;fill:none;stroke-width:2}
.toast{position:absolute;right:18px;top:16px;width:300px;padding:11px 13px;border-radius:14px;text-align:left;
  background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-3);
  display:grid;grid-template-columns:30px 1fr;gap:2px 10px}
.toast img{width:30px;height:30px;border-radius:7px;grid-row:span 2}
.toast b{font-size:13px;color:var(--t1)}
.toast span{font-size:12.5px;line-height:1.4;color:var(--t2)}
@media(max-width:760px){.stage .desk{height:440px}.toast,.thumbs{display:none}.browser{display:none}}

/* sections */
section.band{padding:96px 0 0}
.band h2{font:800 clamp(1.9rem,3.4vw,2.6rem)/1.1 var(--display);letter-spacing:-.025em;color:var(--t1);margin:0 0 10px;text-wrap:balance}
.band .intro{font-size:18px;line-height:1.6;color:var(--t2);max-width:56ch;margin:0 0 34px}
.center{text-align:center}
.center .intro{margin-left:auto;margin-right:auto}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.grid .card{padding:20px 20px 22px}
.grid .card .glyph{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}
.grid .card .glyph svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.grid .card h3{font:700 17px/1.25 var(--display);color:var(--t1);margin:0 0 6px;letter-spacing:-.01em}
.grid .card p{font-size:14.5px;line-height:1.55;color:var(--t2);margin:0}

.shortcuts{display:flex;justify-content:center;gap:12px 26px;flex-wrap:wrap;margin-top:34px}
.shortcuts div{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--t2)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.flip .text{order:2}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:36px}.split.flip .text{order:0}}
.split .text p{font-size:17px;line-height:1.6;color:var(--t2);margin:0 0 14px;max-width:44ch}
.steps{counter-reset:s;list-style:none;padding:0;margin:18px 0 0}
.steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;margin:0 0 12px;font-size:15.5px;color:var(--t2)}
.steps li::before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:700 12px var(--body);display:grid;place-items:center}

.phone{width:260px;height:470px;margin:0 auto;border-radius:42px;background:#16161c;padding:12px;box-shadow:0 30px 50px -22px rgba(35,40,70,.5)}
.phone .scr{height:100%;border-radius:31px;background:var(--panel-2);overflow:hidden}
.phone .sh{display:flex;justify-content:space-between;align-items:center;padding:20px 16px 12px;font:600 13.5px var(--body);color:var(--accent)}
.phone .sh b{color:var(--t1)}
.phone .pimg{margin:0 14px;height:210px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--panel)}
.phone .pimg .site{height:100%}
.phone .pnote{margin:12px 14px 0;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--t1)}
.phone .pfoot{margin:10px 16px 0;font-size:12px;color:var(--t3)}

.term{border-radius:10px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-3);background:var(--syn-bg)}
.term .tt{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--border);font:12px var(--mono);color:var(--t3)}
.term .tt i{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}
.term .tt span{margin-left:8px}
.term pre{margin:0;padding:16px 18px;font:12.5px/1.7 var(--mono);color:var(--t2);white-space:pre-wrap}
.term .note{display:block;margin:0 0 8px;padding:8px 10px;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--t1);border-radius:0 4px 4px 0}
.term .dot{color:var(--accent);font-weight:700}

.faq{max-width:760px;margin:0 auto}
.faq details{border-bottom:1px solid var(--border);padding:16px 2px}
.faq summary{cursor:pointer;font:600 16.5px var(--display);color:var(--t1);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--t3);font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:10px 0 2px;font-size:15.5px;line-height:1.6;color:var(--t2)}

.end{padding:110px 0 90px;text-align:center}
.end img{width:72px;height:72px;border-radius:16px;margin-bottom:22px}
.end h2{font:800 clamp(2rem,4vw,3rem)/1.08 var(--display);letter-spacing:-.025em;color:var(--t1);margin:0 0 12px}
.end p{font-size:17px;color:var(--t2);margin:0 0 24px}
.foot{border-top:1px solid var(--border)}
.foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;padding-bottom:36px;font-size:13px;color:var(--t3)}
.foot a{color:var(--t2)}
.win.browser{left:5%;top:9%;width:52%;height:66%}
[data-w="80"]{width:80%}[data-w="70"]{width:70%}[data-w="66"]{width:66%}[data-w="60"]{width:60%}[data-w="50"]{width:50%}
a.btn{text-decoration:none}
.gh{width:16px;height:16px;fill:currentColor;vertical-align:-3px}
.nav .links a.ghlink{display:inline-grid;place-items:center;padding:7px;color:var(--t2)}
.nav .links a.ghlink:hover{color:var(--t1)}
.nav .links a.ghlink .gh{width:20px;height:20px}
.endctas{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.footlinks a{text-decoration:none}
.footlinks a:hover{text-decoration:underline}
