/* Atlas — Swiss print bureau. No radius, no shadow, no gradient, no cards. */
@font-face{
  font-family:"Atlas Grotesk";
  src:local("Helvetica Neue"),url("fonts/Archivo-Variable.woff2") format("woff2-variations");
  font-weight:100 900;font-display:swap;font-style:normal;
}
:root{
  --paper:#f4f2ed; --ink:#0a0a0a; --grey:#6f6a61; --hair:#c9c4b8; --wash:#e9e6df;
  --accent:#7c3aed; --accent-ink:#4c1d95; --accent-rgb:124,58,237;
  --grot:"Atlas Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.16,.84,.28,1); --t1:180ms; --t2:420ms; --t3:900ms;
  --gut:clamp(18px,3.6vw,44px); --maxw:1200px;
}
@media(prefers-color-scheme:dark){
  :root{--paper:#0a0a0a; --ink:#f1efe9; --grey:#98938a; --hair:#2c2a26; --wash:#141311;
    --accent:#915af0; --accent-ink:#915af0}
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--grot);
  font-size:16px;line-height:1.5;letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;font-synthesis:none}
a{color:inherit;text-decoration:none}
img,svg{display:block}
h1,h2{margin:0;font-weight:700;letter-spacing:-.035em;line-height:.96}
main{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) 64px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.muted{color:var(--grey);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.visually-hidden,.visually-hidden input{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);
  padding:12px 18px;z-index:99;font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em}
.skip:focus{left:0}

/* masthead */
.site{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--hair);
  max-width:none;margin:0;display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:52px;padding:0 var(--gut)}
.brand{display:flex;align-items:baseline;gap:9px}
.brand:hover{text-decoration:none}
.brand-mark{width:9px;height:9px;background:var(--accent);display:inline-block;flex:0 0 auto;
  transform:translateY(-1px)}
.brand-name{font-weight:700;letter-spacing:-.03em;font-size:15px;text-transform:uppercase}
.site-nav{display:flex}
.site-nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;font-size:10px;
  font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--grey);
  transition:color var(--t1) var(--ease)}
.site-nav a:hover{color:var(--ink);text-decoration:none}
.site-nav a:last-child{padding-right:0}

/* slug line */
.crumbs{display:flex;gap:10px;align-items:center;padding:16px 0 0;font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;color:var(--grey)}
.crumbs a{color:var(--grey)}
.crumbs a:hover{color:var(--accent);text-decoration:none}

/* home head */
.hero{padding:10px 0 0;margin-bottom:26px}
.hero h1{font-size:clamp(2.6rem,9vw,5rem);text-transform:uppercase;letter-spacing:-.05em;
  padding-bottom:14px;border-bottom:2px solid var(--ink)}
.lede{margin:14px 0 0;font-size:15px;line-height:1.45;max-width:56ch;color:var(--grey)}
.lede strong{color:var(--ink);font-weight:700}

/* section block: a 2px rule and a caps head — never a card */
.block{margin:56px 0 0}
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:2px solid var(--ink);border-bottom:0;padding:9px 0 18px;margin-bottom:0}
.block-head h2{font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}

/* ledger table */
.table-wrap{overflow-x:auto;border:0;background:none}
table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:0}
table.data thead th{text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--grey);padding:0 12px 8px 0;border-bottom:2px solid var(--ink);
  background:none}
table.data thead th:last-child{padding-right:0}
table.data tbody td{padding:9px 12px 9px 0;border-bottom:1px solid var(--hair);font-size:14px;
  vertical-align:middle}
table.data tbody td:last-child{padding-right:0}
table.data tbody tr{transition:background var(--t1) var(--ease)}
table.data tbody tr:hover{background:var(--wash)}
.c-date{white-space:nowrap}
.c-date time{font-size:14px;font-weight:500;letter-spacing:.01em;display:block;color:var(--ink)}
.c-date .age,.c-date .dow{font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--grey)}
.c-name{font-weight:700;letter-spacing:-.02em}

/* badge: a square caps mark, not a pill */
.badge{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;padding:3px 7px;border:1px solid var(--hair);background:none;color:var(--grey)}

/* filter: a ruled field, no box */
.search{display:block;margin:0 0 18px}
#entity-filter{width:100%;padding:11px 0;font-size:15px;font-family:var(--grot);color:var(--ink);
  background:none;border:0;border-bottom:1px solid var(--hair)}
#entity-filter::placeholder{color:var(--grey)}
#entity-filter:focus{outline:0;border-bottom:2px solid var(--accent)}

/* index: a ruled list, not a card grid */
.entity-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair);display:block}
.ci a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:13px 0;border-bottom:1px solid var(--hair);min-height:48px;height:auto;border-left:0;
  border-right:0;border-top:0;background:none;
  transition:padding-left var(--t1) var(--ease),background var(--t1) var(--ease)}
.ci a:hover{text-decoration:none;padding-left:10px;background:var(--wash)}
.ci-name{font-size:15px;font-weight:700;letter-spacing:-.025em;text-transform:uppercase;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-tag{font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--grey);
  min-width:44px;background:none;padding:0}
.ci-meta{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--grey);
  display:flex;align-items:center;gap:8px}

/* entity head */
.co-hero{padding:10px 0 0;margin-bottom:0}
.co-id{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.co-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  color:var(--grey);background:none;padding:0}
.co-hero h1{font-size:clamp(2.6rem,10vw,5.6rem);text-transform:uppercase;letter-spacing:-.05em;
  padding-bottom:14px;border-bottom:2px solid var(--ink);width:100%}

/* stat band: hairline columns between 2px rules */
.co-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:26px 0 0;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.stat{display:block;padding:14px 18px 16px;border-left:1px solid var(--hair)}
.stat:first-child{border-left:0;padding-left:0}
.stat-k{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  color:var(--grey);margin-bottom:9px}
.stat-v{display:block;font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:700;letter-spacing:-.04em;
  line-height:1;font-variant-numeric:tabular-nums;font-family:var(--grot)}

.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;
  border:1px solid var(--ink);font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--ink);
  transition:background var(--t1) var(--ease),color var(--t1) var(--ease)}
.btn:hover{background:var(--ink);color:var(--paper);text-decoration:none}

.empty{padding:22px 0;text-align:left;color:var(--grey);background:none;
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:14px}
.more-note{margin:14px 0 0;font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--grey)}

/* colophon */
.site-foot{max-width:var(--maxw);margin:64px auto 0;padding:16px var(--gut)
  calc(56px + env(safe-area-inset-bottom));border-top:2px solid var(--ink);
  font-size:11px;line-height:1.6;letter-spacing:.02em;color:var(--grey)}
.site-foot p{margin:.35rem 0;max-width:74ch}
.site-foot strong{color:var(--ink);font-weight:600}
.site-foot a{text-decoration:underline;text-underline-offset:2px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* mobile — design target 390x844 */
@media(max-width:620px){
  main{padding:0 var(--gut) 48px}
  .site{min-height:48px}
  .site-nav a{padding:0 8px;font-size:9px;letter-spacing:.1em}
  .site-nav a:first-child{display:none}
  .crumbs{overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding-top:14px}
  .crumbs::-webkit-scrollbar{display:none}
  .hero h1,.co-hero h1{font-size:clamp(2.2rem,12vw,3.6rem)}
  .block{margin-top:42px}
  .co-stats{grid-template-columns:1fr 1fr}
  .stat{padding:12px 14px 14px;border-top:1px solid var(--hair)}
  .stat:nth-child(-n+2){border-top:0}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  table.data tbody td{font-size:15px}
}

/* ── domain-specific (from adapt) ── */

.c-name{font-weight:600}
.c-price{white-space:nowrap;font-variant-numeric:tabular-nums}
.disclaimer{font-size:.85em;opacity:.75}

