/* the Department of Jazz, front door. A stark grotesque on soft sparkle, with hairlines, dither and stars. */
:root{--ink:#0a0a0a;--paper:#fffdfb;--mute:#4b4a55;--rule:#0a0a0a;--red:#a00000;--ok:#1d5a30;--wip:#7a5200;--panel:rgba(255,253,251,.93)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:17px/1.58 "Helvetica Neue",Helvetica,Arial,sans-serif;
  background:#cfc8f0 url(/img/lilac.jpg) center/cover fixed no-repeat}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:.4rem .6rem;z-index:9}

/* hero: the water */
.hero{min-height:min(78vh,640px);display:flex;flex-direction:column;justify-content:flex-end;
  background:#4a9bb5 url(/img/water.jpg) center/cover no-repeat;border-bottom:1px solid var(--rule);position:relative}
.hero .in{max-width:62rem;width:100%;margin:0 auto;padding:2rem 1rem 0}
.stamp{display:inline-block;background:var(--ink);color:#fff;padding:.35rem .7rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.hero-card{background:var(--panel);border:1px solid var(--rule);border-bottom:0;padding:1.4rem 1.4rem 1.6rem;margin-top:1rem}
h1{font-size:clamp(2rem,6.4vw,3.8rem);line-height:1.02;margin:.2rem 0 .8rem;letter-spacing:-.02em;font-weight:700;text-transform:lowercase}
.lede{font-size:1.18rem;max-width:44rem;margin:.5rem 0}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 0}
.btn{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:.7rem 1.1rem;font:600 .86rem "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn:hover{background:#fff;color:var(--ink)}
.btn.alt{background:#fff;color:var(--ink)}.btn.alt:hover{background:var(--ink);color:#fff}
.btn:disabled{opacity:.5;cursor:wait}

/* panels */
main{max-width:62rem;margin:0 auto;padding:0 1rem 3rem}
.panel{background:var(--panel);border:1px solid var(--rule);margin:1.4rem 0;padding:0 1.4rem 1.4rem}
.dither{height:14px;margin:0 -1.4rem 1rem;border-bottom:1px solid var(--rule);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='2' height='2' fill='%230a0a0a'/%3E%3Crect x='2' y='2' width='2' height='2' fill='%230a0a0a'/%3E%3C/svg%3E") 0 0/4px 4px}
h2{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 .9rem;font-weight:700}
h2::before,h2::after{content:"\2606";margin:0 .6rem;color:var(--red)}
.panel p{margin:.75rem 0;max-width:46rem}
.panel p.big{font-size:1.28rem;line-height:1.4;font-weight:600;max-width:40rem}
hr{border:0;border-top:1px solid var(--rule);margin:1.2rem 0}
.q{font-weight:700;margin-top:1.1rem}

/* the cat */
figure.cat{display:grid;grid-template-columns:minmax(0,18rem) 1fr;gap:1.2rem;align-items:center;margin:1rem 0;border:1px solid var(--rule);background:#fff}
figure.cat img{width:100%;height:auto;display:block;border-right:1px solid var(--rule)}
figure.cat figcaption{padding:1rem 1rem 1rem 0;font-size:.95rem}
@media (max-width:40rem){figure.cat{grid-template-columns:1fr}figure.cat img{border-right:0;border-bottom:1px solid var(--rule)}figure.cat figcaption{padding:0 1rem 1rem}}

/* receipts */
table.rec{width:100%;border-collapse:collapse;font-size:.95rem;margin:.8rem 0}
table.rec td,table.rec th{border-top:1px solid var(--rule);padding:.55rem .4rem;text-align:left;vertical-align:top}
table.rec th{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.tag{display:inline-block;border:1px solid currentColor;padding:.05rem .4rem;font:700 .76rem ui-monospace,Menlo,monospace;margin-right:.35rem;white-space:nowrap}
.m1{color:var(--red)}.z{color:var(--wip)}.p1{color:var(--ok)}
.key{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.9rem;margin:.4rem 0 .8rem}

/* forms */
.forms{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:48rem){.forms{grid-template-columns:1fr}}
form.card{border:1px solid var(--rule);background:#fff;padding:1rem 1rem 1.1rem}
form.card h3{margin:0 0 .6rem;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}
label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:.7rem 0 .2rem;color:var(--mute)}
input[type=text],input[type=email],textarea{width:100%;border:1px solid var(--ink);background:#fff;padding:.6rem .6rem;font:1rem "Helvetica Neue",Helvetica,Arial,sans-serif;border-radius:0}
textarea{min-height:5.2rem;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.chk{display:flex;gap:.5rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--ink);margin:.7rem 0}
.chk input{margin-top:.25rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.out{min-height:1.4rem;margin:.6rem 0 0;font-size:.92rem}.out[data-ok="0"]{color:var(--red)}.out[data-ok="1"]{color:var(--ok)}
.fine{font-size:.85rem;color:var(--mute)}
.interests{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.2rem 0}
.interests label{margin:0;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink);display:flex;gap:.35rem;align-items:center}

/* footer: the water again */
footer{background:#2f87a8 url(/img/water.jpg) center bottom/cover no-repeat;border-top:1px solid var(--rule);padding:3.5rem 1rem 2rem;color:#fff}
footer .in{max-width:62rem;margin:0 auto;background:rgba(10,10,10,.82);padding:1rem 1.2rem;font-size:.88rem}
footer a{color:#fff}footer a:hover{background:#fff;color:var(--ink)}
.nav{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;margin:0 0 .6rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
@media (prefers-reduced-motion:no-preference){.btn,a{transition:background .12s,color .12s}}

/* the headline face: Auralume Lake, a script derived from Great Vibes (SIL Open Font License, see /fonts/OFL-LICENSE.txt) */
@font-face{font-family:"Auralume Lake";src:url(/fonts/auralume-lake.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
h1{font-family:"Auralume Lake","Snell Roundhand","Apple Chancery",cursive;font-weight:400;letter-spacing:0;text-transform:none;font-size:clamp(2.7rem,9.5vw,5.4rem);line-height:1.04;margin:.2rem 0 .9rem}

/* sales page additions */
#gen{display:block;width:100%;height:auto;aspect-ratio:1/1;border:1px solid var(--rule);background:#222}
.seed{font:.72rem ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--mute);margin:.5rem 0 0}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}
@media (max-width:48rem){.three{grid-template-columns:1fr}}
.three>div{border:1px solid var(--rule);background:#fff;padding:.9rem 1rem}
.three h3{margin:.1rem 0 .4rem;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase}
.three p{margin:.4rem 0!important;font-size:.95rem}
blockquote.say{margin:1rem 0;padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--ink);max-width:44rem}
blockquote.say p{margin:.3rem 0!important;font-size:1.05rem}
blockquote.say cite{display:block;font-style:normal;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
ol.line{list-style:none;margin:1rem 0;padding:0;border-top:1px solid var(--rule)}
ol.line li{display:grid;grid-template-columns:5.2rem 1fr;gap:.8rem;border-bottom:1px solid var(--rule);padding:.55rem 0;font-size:.95rem}
ol.line b{font:700 .85rem ui-monospace,Menlo,monospace}
ul.lines{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:48rem){ul.lines{grid-template-columns:1fr}}
ul.lines li{border:1px solid var(--rule);background:#fff;padding:.8rem 1rem;font-weight:600;font-size:1.05rem;line-height:1.35}
.src{font-size:.82rem;color:var(--mute)}
.mintbar{background:var(--panel);border:1px solid var(--rule);border-top:0;padding:0 1.4rem .9rem}
.mintbar .seed{margin:0;padding:.5rem 0 .3rem}
.minter{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
figure.proof{margin:1rem 0;border:1px solid var(--rule);background:#fff;max-width:46rem}
figure.proof img{display:block;width:100%;height:auto}
figure.proof figcaption{padding:.6rem .8rem;font-size:.88rem;border-top:1px solid var(--rule)}
.kick{font-size:1.3rem;font-weight:700;line-height:1.3;max-width:40rem;margin:.2rem 0 .6rem}

.workgrid{display:grid;grid-template-columns:minmax(0,30rem) 1fr;gap:1.4rem;align-items:start}
@media (max-width:52rem){.workgrid{grid-template-columns:1fr}}
.workgrid .seed{margin:.4rem 0}
.sidebyside{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
@media (max-width:48rem){.sidebyside{grid-template-columns:1fr}}
.sidebyside>div{border:1px solid var(--rule);background:#fff;padding:.9rem 1rem}
.sidebyside h3{margin:.1rem 0 .4rem;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase}
.sidebyside p{margin:.4rem 0!important;font-size:.95rem}
