@font-face{
  font-family: Caret;
  src: url("/fonts/fraunces-latin.woff2") format("woff2-variations"),
       url("/fonts/fraunces-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: Caret;
  src: url("/fonts/fraunces-latin-ext.woff2") format("woff2-variations"),
       url("/fonts/fraunces-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root{
  --paper:#F3EEE4;
  --slip:#FAF7F1;
  --well:#E5DFD3;
  --ink:#1C1914;
  --mute:#6B655C;
  --insert:#1A7A45;
  --insert-soft:#D7EBDD;
  --focus: 0 0 0 3px #F3EEE4, 0 0 0 6px #1A7A45;
  --in: cubic-bezier(0.22, 1, 0.36, 1);
  --out: cubic-bezier(0.32, 0.72, 0, 1);
}
*{box-sizing:border-box;margin:0}
html,body{background:var(--paper);color:var(--ink);font-family:Caret,serif;font-optical-sizing:auto}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-weight:500;font-size:17px;line-height:1.45;min-height:100vh;font-variation-settings:"opsz" 14,"wght" 500}
img,svg{display:block;max-width:100%}
a{color:var(--insert);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button,input,textarea,select{font:inherit;color:inherit;background:none;border:0}
button{cursor:pointer}
:focus{outline:none}
:focus-visible{box-shadow:var(--focus)}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:40;background:var(--slip);padding:10px 14px;border-radius:10px}
.wrap{width:min(720px,calc(100% - 32px));margin:0 auto}

/* Header: wordmark only */
.top{padding:18px 0 8px}
.mark{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:none;font-weight:700;font-size:22px;font-variation-settings:"opsz" 36,"wght" 700;letter-spacing:-0.02em}
.mark:hover{text-decoration:none}
.mark .bar{display:block;width:4px;height:1em;background:var(--insert);border-radius:0;translate:0 1px}

/* Hero */
.hero{padding:10px 0 18px}
.hero h1{font-size:clamp(32px,8.4vw,52px);font-weight:700;line-height:1.08;letter-spacing:-0.03em;font-variation-settings:"opsz" 72,"wght" 700;max-width:14em}
.hero h1 .typed{display:inline}
.hero .rest{display:inline-block;width:5px;height:.78em;background:var(--insert);margin-left:4px;translate:0 3px;vertical-align:-.05em}
.hero.is-typing .typed{visibility:hidden}
.hero.is-typing.is-on .typed{visibility:visible}
.hero .lede{margin-top:12px;color:var(--mute);font-size:17px;font-weight:500;font-variation-settings:"opsz" 14,"wght" 500;max-width:32em}

/* Compact selector row */
.stick{display:flex;align-items:center;gap:2px 6px;min-height:44px;margin:0 0 8px}
.icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:8px;color:var(--ink)}
.icon:hover{background:var(--well)}
.icon svg{width:20px;height:20px}
.find{display:flex;align-items:center;flex:none;min-width:44px;border-radius:8px}
.find .search{display:flex;align-items:center;width:0;min-width:0;opacity:0;overflow:hidden;pointer-events:none}
.find #q{width:100%;min-width:0;min-height:44px;background:transparent;padding:8px 2px;font-variation-settings:"opsz" 14,"wght" 500}
.find #q::-webkit-search-decoration,.find #q::-webkit-search-cancel-button{display:none}
.find #q:focus,.find #q:focus-visible{box-shadow:none}
.find.is-open{outline:none}
.find.is-open:focus-within:has(#q:focus-visible){box-shadow:var(--focus)}
.find .find-clear{opacity:0;pointer-events:none}
.find.is-open{flex:1 1 180px;max-width:22rem;background:var(--slip)}
.find.is-open .search{flex:1 1 auto;width:auto;opacity:1;pointer-events:auto;overflow:visible}
.find.is-open .find-clear{opacity:1;pointer-events:auto}
.find.is-open .find-btn:hover{background:transparent}
.filt{display:flex;align-items:center;gap:0;flex:1 1 auto;min-width:0}
.sel{position:relative;display:inline-flex}
.sel-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;font-size:15px;font-weight:600;font-variation-settings:"opsz" 14,"wght" 600;color:var(--ink);border-radius:8px;white-space:nowrap}
.sel-btn::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--mute);translate:0 1px;transition:transform 180ms var(--out)}
.sel.is-open .sel-btn::after{transform:rotate(180deg)}
.sel-list{position:absolute;z-index:20;top:calc(100% - 2px);left:0;min-width:max(100%,12em);margin:0;padding:6px;list-style:none;background:var(--slip);border-radius:10px;transform-origin:top left;animation:sel-in 180ms var(--out) both;max-height:min(52vh,22rem);overflow:auto}
@keyframes sel-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.sel-list[hidden]{display:none}
.sel-list [role="option"]{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;font-size:16px;font-weight:560;cursor:pointer}
.sel-list [role="option"]:hover,.sel-list [role="option"]:focus{background:var(--well);outline:none}
.sel-list [role="option"][aria-selected="true"]{color:var(--insert)}
.count{margin-left:auto;color:var(--mute);font-size:14px;font-weight:560;font-variation-settings:"opsz" 9,"wght" 560;min-height:44px;display:inline-flex;align-items:center;padding:0 4px;flex:none;font-variant-numeric:tabular-nums}
@media(max-width:419px){
  .count{display:none}
  .find.is-open{max-width:none}
}

/* Buffer list */
.list{list-style:none;padding:0 0 32px}
.row{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:8px 10px;border-radius:10px;background:transparent;text-align:left;color:inherit}
.row .glyph{width:44px;height:44px;flex:none;border-radius:10px;background:var(--slip);object-fit:cover}
.row .nm{flex:1 1 auto;min-width:0;font-size:18px;font-weight:650;font-variation-settings:"opsz" 18,"wght" 650;letter-spacing:-0.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}
.row .pick{display:inline-block;width:6px;height:14px;background:var(--insert);flex:none}
.row .tag{flex:none;font-size:13px;font-weight:560;font-variation-settings:"opsz" 9,"wght" 560;color:var(--mute);padding:6px 0 6px 8px}
.row:hover{background:var(--slip)}
.row:active{transform:scale(.97)}
.row.is-on{background:var(--slip)}
.seo{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.cell{animation:rise 220ms var(--in) both;animation-delay:calc(var(--i,0) * 16ms)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.empty{display:none;padding:24px 8px 48px;color:var(--mute)}
.empty.is-on{display:block}

@media(prefers-reduced-motion:reduce){
  .cell,.sel-list,.hero .rest{animation:none!important;transition:none!important}
  .row:active{transform:none}
}

/* Forms / footer */
.band{background:var(--ink);color:var(--paper);padding:48px 0 40px}
.band a{color:var(--insert-soft)}
.band h2{font-size:26px;font-weight:700;font-variation-settings:"opsz" 36,"wght" 700;letter-spacing:-0.02em;margin:0 0 8px}
.band p{color:#C9C3B8;font-size:16px;max-width:28em;margin:0 0 18px}
.band-grid{display:grid;gap:40px}
@media(min-width:720px){.band-grid{grid-template-columns:1fr 1fr;gap:48px}}
.suggest,.sub{display:flex;flex-direction:column;gap:8px}
.in{min-height:48px;padding:12px 14px;border-radius:10px;background:#2A2620;color:var(--paper);width:100%}
textarea.in{min-height:96px;resize:vertical}
.in::placeholder{color:#B7B0A4}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:10px;background:var(--insert);color:var(--paper);font-weight:650;font-variation-settings:"opsz" 14,"wght" 650;align-self:flex-start}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn:active{transform:scale(.97)}
.err{min-height:1.2em;color:#E8B4A0;font-size:14px}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.ok{color:var(--insert-soft)}
.colophon{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:22px 0 40px;color:var(--mute);font-size:14px;font-variation-settings:"opsz" 9,"wght" 500}
.colophon a{color:var(--ink)}

/* Sheet */
.scrim{position:fixed;inset:0;background:rgba(28,25,20,.42);opacity:0;pointer-events:none;transition:opacity 220ms var(--out);z-index:30}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;background:var(--slip);border-radius:18px 18px 0 0;padding:22px 20px 32px;max-height:min(86vh,40rem);overflow:auto;transform:translateY(100%);transition:transform 280ms var(--out);width:min(640px,100%);margin:0 auto}
.sheet.on{transform:translateY(0)}
.sheet .x{position:absolute;top:10px;right:10px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:8px;font-size:24px;line-height:1;color:var(--mute)}
.sheet .x:hover{background:var(--well);color:var(--ink)}
.sheet .top{display:flex;align-items:center;gap:14px;padding:8px 36px 16px 0}
.sheet .glyph{width:56px;height:56px;border-radius:12px;background:var(--well);object-fit:cover}
.sheet h2{font-size:28px;font-weight:700;font-variation-settings:"opsz" 36,"wght" 700;letter-spacing:-0.02em;line-height:1.1}
.sheet .meta{color:var(--mute);font-size:14px;margin-top:4px}
.sheet .blurb{font-size:17px;margin:0 0 16px;max-width:36em}
.sheet .facts p{color:var(--mute);font-size:15px;margin:0 0 6px}
.sheet .visit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:10px;background:var(--insert);color:var(--paper);font-weight:650;margin-top:16px}
.sheet .visit:hover{text-decoration:none;filter:brightness(1.08)}
@media(min-width:720px){
  .sheet{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-48%);opacity:0;border-radius:16px;width:min(560px,calc(100% - 48px));padding:28px 28px 32px;transition:transform 220ms var(--out),opacity 220ms var(--out)}
  .sheet.on{transform:translate(-50%,-50%);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .sheet,.scrim,.btn,.sheet .visit{transition:none!important}
  .btn:active,.sheet .visit:active{transform:none}
}

/* Privacy / 404 */
.prose{padding:8px 0 48px;max-width:36em}
.prose p{margin:0 0 14px}
.prose h1{font-size:clamp(36px,8vw,52px);font-weight:700;font-variation-settings:"opsz" 72,"wght" 700;letter-spacing:-0.03em;line-height:1.08;margin:0 0 16px}

/* Intro on category pages */
.intro{color:var(--mute);margin:-6px 0 14px;max-width:34em}
