:root{color-scheme:light;--bg:#fff;--card:#fff;--raised:#f3f2f8;--edge:#e2e0ea;--text:#1b1b20;--dim:#55535e;--faint:#807e8a;--rose:#d93a70;--violet:#6f5ce6;--amber:#d98a1f;--glow:linear-gradient(92deg,var(--rose) 0%,var(--violet) 55%,var(--amber) 100%);--display:"Futura","Avenir Next","Century Gothic",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* The film's two soft lights, on paper: the pages are light so that the dark footage stands out. */
body::before{content:"";position:absolute;inset:0 0 auto 0;height:1100px;z-index:-1;pointer-events:none;background:radial-gradient(820px 560px at 86% 2%,rgba(124,104,255,.30),rgba(255,255,255,0) 70%),radial-gradient(760px 540px at 8% 6%,rgba(255,84,140,.24),rgba(255,255,255,0) 70%),radial-gradient(900px 520px at 50% 62%,rgba(255,184,77,.16),rgba(255,255,255,0) 72%)}
a{color:var(--rose)}
header,main,footer{max-width:1160px;margin:0 auto;padding:0 28px}
header{display:flex;align-items:center;gap:20px;padding-top:22px;padding-bottom:22px}
header .name{display:flex;align-items:center;gap:10px;font:500 21px var(--display);color:var(--text);text-decoration:none;margin-right:auto}
header nav{display:flex;align-items:center;gap:26px}
header nav a{text-decoration:none;color:var(--dim);font-size:15px}
header nav a:hover,header nav a[aria-current]{color:var(--text)}
header nav a.get{color:#fff;background:var(--glow);padding:8px 16px;border-radius:999px;font-weight:600}
h1,h2,.price{font-family:var(--display);font-weight:500;letter-spacing:-.012em}
h1{font-size:58px;line-height:1.06;margin:56px 0 18px}
h2{font-size:34px;line-height:1.15;margin:0 0 14px}
h3{font-size:17px;margin:0 0 6px}
.glow{background:var(--glow);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.14em}
.lead{font-size:21px;line-height:1.5;color:var(--dim);max-width:680px}
.small{font-size:14.5px;color:var(--faint);margin:16px 0 0}
.button{display:inline-block;background:var(--glow);color:#fff;text-decoration:none;font-weight:600;font-size:17px;padding:13px 26px;border-radius:999px;margin:22px 10px 0 0;box-shadow:0 10px 30px rgba(217,58,112,.28)}
.button.quiet{background:transparent;color:var(--text);border:1px solid var(--edge);box-shadow:none}
.button.quiet:hover{border-color:var(--rose)}
.eyebrow{display:flex;align-items:center;gap:14px;font:500 13px var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin:0 0 16px}
.eyebrow b{color:var(--rose);font-weight:500;letter-spacing:.16em}
.eyebrow i{width:44px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--rose),var(--violet))}
.shot{display:block;width:100%;height:auto;border-radius:14px;background:#0e0f12;box-shadow:0 0 0 1px rgba(0,0,0,.14),0 28px 70px rgba(30,20,40,.28),0 6px 18px rgba(30,20,40,.14)}
video.shot{aspect-ratio:16/10}
.sounded{position:relative}
/* Sound on a demo: a speaker crossed out while muted, a speaker with waves while it plays. */
.unmute{position:absolute;right:14px;bottom:14px;width:42px;height:42px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(14,15,18,.72);box-shadow:0 0 0 1px rgba(255,255,255,.22),0 6px 18px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,transform .15s}
.unmute:hover{transform:scale(1.06)}
.unmute::before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9.5h3.5L12 5.5v13l-4.5-4H4z%22 fill=%22black%22/%3E%3Cpath d=%22M16 9.5l5 5M21 9.5l-5 5%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9.5h3.5L12 5.5v13l-4.5-4H4z%22 fill=%22black%22/%3E%3Cpath d=%22M16 9.5l5 5M21 9.5l-5 5%22/%3E%3C/svg%3E") center/contain no-repeat}
.unmute[aria-pressed="true"]{background:linear-gradient(135deg,var(--rose),var(--violet));box-shadow:0 6px 20px rgba(243,93,137,.4)}
.unmute[aria-pressed="true"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9.5h3.5L12 5.5v13l-4.5-4H4z%22 fill=%22black%22/%3E%3Cpath d=%22M15.5 9a4.2 4.2 0 0 1 0 6M18.3 6.3a8 8 0 0 1 0 11.4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9.5h3.5L12 5.5v13l-4.5-4H4z%22 fill=%22black%22/%3E%3Cpath d=%22M15.5 9a4.2 4.2 0 0 1 0 6M18.3 6.3a8 8 0 0 1 0 11.4%22/%3E%3C/svg%3E")}
.hero{text-align:center;padding-top:26px}
.hero h1{font-size:72px;margin:44px auto 20px}
.hero h1 span{white-space:nowrap}
.hero .lead{margin:0 auto}
.hero .button{margin:26px 6px 0;vertical-align:top}
/* A button with a second, smaller line under its label. */
.button.two{padding:10px 28px 11px;line-height:1.25}
.button.two small{display:block;font-size:12.5px;font-weight:500;opacity:.9}
.button.two.quiet small{color:var(--rose);opacity:1}
.button.quiet{background:#fff}
.promise{display:inline-flex;align-items:center;gap:9px;margin:22px 0 0;padding:8px 16px 8px 10px;border-radius:999px;background:rgba(34,160,107,.10);color:#177a50;font-weight:600;font-size:15px}
.promise::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#22a06b;color:#fff;font-size:13px}
.hero video.shot{aspect-ratio:16/9;margin-top:52px}
.row{display:grid;grid-template-columns:5fr 8fr;gap:56px;align-items:center;margin:120px 0}
.row.flip{grid-template-columns:8fr 5fr}
.row.flip>div:first-child{order:2}
.row p{color:var(--dim);margin:0 0 12px}
.row ul{margin:0;padding-left:20px;color:var(--dim)}
.row li{margin:6px 0}
.row li::marker{color:var(--rose)}
.tools{margin:120px 0}
.tools>h2,.tools>.eyebrow,.tools>p{max-width:700px}
.tools>p{color:var(--dim)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:26px 0}
.card{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:22px}
.card p{margin:0;color:var(--dim);font-size:15.5px}
.card video{display:block;width:calc(100% + 44px);margin:-22px -22px 18px;border-radius:14px 14px 0 0;aspect-ratio:16/10;background:#0e0f12}
.card{box-shadow:0 1px 2px rgba(30,20,40,.04)}
.price{font-size:44px;line-height:1.1;margin:6px 0 10px}
.price small{font:400 15px -apple-system,system-ui,sans-serif;letter-spacing:0;color:var(--faint)}
.band{background:var(--card);border:1px solid var(--edge);border-radius:20px;padding:54px 32px;margin:120px 0;text-align:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 380px at 50% 0%,rgba(243,93,137,.13),rgba(139,124,246,.07) 50%,rgba(255,255,255,0) 78%)}
.band>*{position:relative}
.band p{color:var(--dim);margin:0 auto;max-width:640px}
.band .grid{text-align:left;margin-top:30px}
.faq{max-width:780px;margin:0 auto}
.faq h2{text-align:center;margin-bottom:22px}
details{border-bottom:1px solid var(--edge);padding:16px 0}
summary{cursor:pointer;font-weight:600}
details p{color:var(--dim);margin:10px 0 2px}
.note{background:rgba(217,58,112,.07);border-left:3px solid var(--rose);padding:14px 18px;border-radius:0 10px 10px 0;margin:20px 0;font-size:15.5px}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:16px}
th,td{text-align:left;padding:11px 14px 11px 0;border-bottom:1px solid var(--edge);vertical-align:top}
th{color:var(--faint);font-weight:500;font-size:14px}
td:last-child,th:last-child{text-align:right;padding-right:0}
.page{max-width:860px;margin:0 auto}
.page h1{font-size:54px}
.page h2{font-size:28px;margin:56px 0 12px}
.page>p,.page li{color:var(--dim)}
.doc{max-width:740px;margin:0 auto}
.doc h1{font-size:44px}
.doc h2{font-size:22px;margin:40px 0 10px;font-family:inherit;font-weight:600;letter-spacing:0}
.doc p,.doc li{color:var(--dim)}
.doc li{margin:6px 0}
/* The blog: an article reads in one narrow column; its pictures and films may run a little wider. */
.post{max-width:760px;margin:0 auto}
.post h1{font-size:50px;margin:30px 0 16px}
.post h2{font-size:30px;margin:64px 0 14px}
.post p,.post li{color:#3b3a42;font-size:18px;line-height:1.7}
.post .lead{font-size:21px;color:var(--dim)}
.post .byline{font-size:15px;color:var(--faint);margin:6px 0 40px}
.post ol,.post ul{padding-left:22px}.post li{margin:8px 0}.post li::marker{color:var(--rose)}
.post figure{margin:34px 0}
.post figure.wide{margin-left:-80px;margin-right:-80px}
.post figure img{display:block;width:100%;height:auto;border-radius:12px}
/* Text under a demo film starts below the film's shadow. */
.post figure>.shot+figcaption,.post figure>.sounded+figcaption{margin-top:22px}
.post .prompt-block{margin:44px 0 34px}
.post .prompt-block span{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rose);margin-bottom:8px}
.post .prompt-block blockquote{margin:0}
.post .prompt-block p{font-size:15.5px;margin:10px 0 0}
.post figcaption{font-size:14.5px;color:var(--faint);margin-top:12px;text-align:center}
.post blockquote{margin:22px 0;padding:16px 22px;border-left:3px solid var(--violet);background:var(--raised);border-radius:0 12px 12px 0;color:var(--dim);font-size:17px;line-height:1.65}
.post .clips{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:34px 0}
.post .clips.wide{margin-left:-80px;margin-right:-80px}
.post .clips figure{margin:0}
.post .clips figcaption{text-align:left;line-height:1.5}
.post .clips figcaption strong{color:var(--text)}
.post .clips .unmute{width:36px;height:36px;right:10px;bottom:10px}.post .clips .unmute::before{width:19px;height:19px}
.post .prompts span{display:block;margin:10px 0 2px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rose)}
.post .prompts span:first-child{margin-top:0}
.post .prompts strong{display:block;color:var(--text)}
.post .prompts{text-align:left;line-height:1.5}
.post .prompts em{display:block;font-style:normal;margin-bottom:10px}
.post .prompts em.note{margin:8px 0 0;color:var(--dim);font-size:15px}
.post .mine{font-family:ui-monospace,Menlo,monospace;font-size:15px;background:var(--raised);border-radius:10px;padding:12px 16px;color:var(--text)}
.post .sounds{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}
.post .sounds.wide{margin-left:-80px;margin-right:-80px}
.post .sound{border:1px solid var(--edge);border-radius:12px;padding:14px 16px 16px;background:var(--card)}
.post .sound h3{font-size:16px;margin:0 0 2px;color:var(--text)}
.post .sound .spec{font-size:14px;color:var(--faint);margin:0 0 10px}
.post .sound audio{display:block;width:100%;height:40px}
/* A sound as the app shows it (sound-stage.js): a dark stage with two soft lights, brighter while it plays. */
.stage{border-radius:12px;padding:12px 14px 10px;background:radial-gradient(160px 150px at 20% 25%,rgba(243,93,137,.18),transparent 70%),radial-gradient(170px 160px at 85% 80%,rgba(139,124,246,.16),transparent 70%),#0e0f12;user-select:none}
.stage.playing{background:radial-gradient(180px 160px at 20% 25%,rgba(243,93,137,.30),transparent 70%),radial-gradient(190px 170px at 85% 80%,rgba(139,124,246,.28),transparent 70%),#0e0f12}
.stage canvas{display:block;width:100%;height:72px;cursor:pointer;touch-action:none}
.stage .controls{display:flex;align-items:center;gap:10px;margin-top:10px;font:11px -apple-system,system-ui,sans-serif;color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums}
.stage .play{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:linear-gradient(135deg,#F35D89,#8C7CF7);box-shadow:0 0 10px rgba(243,93,137,.45)}
.stage .play::before{content:"";width:10px;height:12px;margin-left:2px;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.stage.playing .play::before{margin-left:0;width:10px;height:11px;clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%,65% 0)}
.stage .track{flex:1;position:relative;height:14px;cursor:pointer;touch-action:none}
.stage .track::before,.stage .track i{content:"";position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px;border-radius:2px}
.stage .track::before{right:0;background:rgba(255,255,255,.16)}
.stage .track i{width:0;background:linear-gradient(90deg,#F35D89,#8C7CF7)}
.stage .track b{position:absolute;left:0;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#fff;box-shadow:0 0 4px rgba(243,93,137,.7)}
.stage .all{color:rgba(255,255,255,.5)}
.post .sound .say{font-size:15px;margin:10px 0 0;color:var(--dim)}
.post table{font-size:15.5px}
.post td:last-child,.post th:last-child{text-align:left}
.post table.num td:not(:first-child),.post table.num th:not(:first-child){text-align:right;padding-left:14px}
.post .try{margin:72px 0 0}
.post .try p{font-size:17px}
.posts{display:grid;gap:26px;margin:44px 0}
.post-card{display:grid;grid-template-columns:5fr 6fr;gap:28px;align-items:center;text-decoration:none;color:var(--text);border:1px solid var(--edge);border-radius:16px;padding:18px;background:var(--card);transition:border-color .2s}
.post-card:hover{border-color:var(--rose)}
.post-card img{display:block;width:100%;height:auto;border-radius:10px}
.post-card h2{font-size:26px;margin:0 0 10px}
.post-card p{color:var(--dim);margin:0}
.post-card .eyebrow{margin-bottom:10px}
@media(max-width:900px){.post figure.wide,.post .clips.wide,.post .sounds.wide{margin-left:0;margin-right:0}.post .clips,.post .sounds{grid-template-columns:1fr}.post h1{font-size:38px}.post-card{grid-template-columns:1fr}}
footer{margin-top:90px;padding-top:26px;padding-bottom:48px;border-top:1px solid var(--edge);color:var(--faint);font-size:14.5px}
footer a{display:inline-block;color:var(--dim);margin:0 20px 6px 0;text-decoration:none}
footer a:hover{color:var(--text)}
.badges{margin-top:18px}.badges a{margin-right:0;display:inline-block;opacity:.85}.badges a:hover{opacity:1}.badges img{display:block;height:auto;max-width:200px}
@media(max-width:1000px){.hero h1{font-size:52px}}
@media(max-width:900px){.hero h1 span{white-space:normal}.row,.row.flip{grid-template-columns:1fr;gap:26px;margin:80px 0}.row.flip>div:first-child{order:0}.hero h1{font-size:52px}h1{font-size:44px}h2{font-size:28px}.tools,.band{margin:80px 0}}
@media(max-width:600px){header,main,footer{padding:0 18px}.hero h1{font-size:40px}.lead{font-size:18px}header nav{gap:16px}header nav a.plain{display:none}.band{padding:38px 20px}}
